位元組跳動用戶端一面

2020-08-09 22:28:06

位元組跳動用戶端一面

1.自我介紹

2.你知道什麼是jvm嗎

3.什麼是翻譯和編譯

內容:編譯原理

3.1爲什麼要有翻譯程式

​ 計算機並不能直接地接受和執行用高階語言編寫的源程式,源程式在輸入計算機時,通過"翻譯程式"翻譯成機器語言形式的目標程式,

計算機才能 纔能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。

  1. 編譯方式
  2. 解釋方式

3.2編譯方式

​ 編譯方式是指利用事先編好的一個稱爲編譯程式的機器語言程式,作爲系統軟體存放在計算機內,當使用者將高階語言編寫的源程式輸入計算機後,編譯程式便把源程式整個地翻譯成用機器語言表示的與之等價的目標程式,然後計算機再執行該目標程式,以完成源程式要處理的運算並取得結果。

3.3解釋方式

​ 解釋方式是指源程式進入計算機後,解釋程式邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程式。

如PASCAL、FORTRAN、COBOL等高階語言執行編譯方式;BASIC語言則以執行解釋方式爲主;而PASCAL、C語言是能書寫編譯程式的高階程式設計語言。

3.4三種語言處理程式

編譯程式、解釋程式、彙編程式是3種語言處理程式。

其區別主要爲:

  • 彙編程式(爲低階服務)是將彙編語言書寫的源程式翻譯成由機器指令和其他資訊組成的目標程式。

  • 解釋程式(爲高階服務)直接執行源程式或源程式的內部形式,一般是讀一句源程式,翻譯一句,執行一句,不產生目的碼,如BASIC解釋程式。

  • 編譯程式(爲高階服務)是將高階語言書寫的源程式翻譯成與之等價的低階語言的目標程式。

編譯程式與解釋程式最大的區別之一在於前者生成目的碼,而後者不生成;此外,前者產生的目的碼的執行速度比解釋程式的執行速度要快;

後者人機互動好,適於初學者使用。用COBOL、FORTRAN等語言編寫的程式考慮到執行速度一般都是編譯執行。

4.jm的記憶體結構

5.操作系統的快取對應jvm的記憶體結構的哪一塊