官术网_书友最值得收藏!

1.5 Java編譯器和解釋器

當運行一個Java程序時,它要經歷編譯和解釋兩個階段。在編譯期間,源代碼被編譯器轉換成中間語言。源代碼是用Java編寫的程序,而中間代碼是由Java編譯器生成的特殊類型代碼。中間代碼也稱為Java字節碼或字節碼。因為字節碼并不針對特定的機器,所以它需要被轉換成機器級別的代碼,這個任務由Java解釋器來完成。Java解釋器逐行讀取字節碼,將其轉換為機器代碼。這時,再由計算機執行機器代碼。

 

提示

1.編譯器是一種特殊用途的程序,負責將Java程序等高級語言(易于人們書寫和理解)轉換成低級語言(機器語言)。

2.字節碼一種用于Java虛擬機的機器語言。每個計算機平臺都有自己的程序來解釋字節碼指令。

我們已經知道,Java程序的源代碼會被轉換成字節碼,然后再被轉換成機器碼。字節碼不屬于任何類型計算機的機器語言。事實上,它是一種叫作Java虛擬機或JVM虛構計算機的機器語言。術語JVM用于指代像虛構計算機那樣的軟件。

JVM的架構非常強大。只要安裝了JDK,JVM就會自動加載到計算機內存中,在編譯Java程序時發揮作用。將Java程序轉換為機器特定代碼的過程表示如圖1-8所示。

圖1-8 將Java程序轉換成機器特定代碼的過程表示

主站蜘蛛池模板: 五河县| 武宣县| 盐亭县| 叶城县| 古交市| 龙游县| 吉安市| 嘉峪关市| 喀什市| 舞钢市| 呼玛县| 安西县| 衡南县| 牙克石市| 台东市| 饶平县| 南郑县| 乐陵市| 麻阳| 铜鼓县| 韩城市| 深州市| 惠州市| 察雅县| 山阴县| 永济市| 松江区| 铜梁县| 修文县| 谢通门县| 兰溪市| 扎囊县| 宜昌市| 田林县| 双柏县| 姚安县| 临澧县| 天水市| 米脂县| 巴中市| 紫金县|