- Java程序設計項目教程(第二版)
- 郭庚麒 周江
- 869字
- 2019-09-30 13:30:01
1.2 Java的工作機制
Java編譯器先將源程序翻譯為與平臺無關的字節代碼(byte code),然后由在特定平臺下運行的Java解釋器來解釋執行字節代碼文件,其工作原理如圖1-1所示。解釋器對Java程序屏蔽了底層的操作系統和硬件平臺的差異,因此同一個Java程序代碼可以不加修改地運行在不同的硬件平臺和操作系統上。可以說,Java程序代碼是在一個Java虛擬機上運行的。
JVM是運行Java程序必不可少的機制。編譯后的Java程序指令并不直接在硬件系統的CPU上執行,而是由JVM執行。JVM是編譯后的Java程序和硬件系統之間的接口,程序員可以把JVM看作一個虛擬的處理器。它不僅解釋執行編譯后的Java指令,還進行安全檢查。JVM是Java程序能在多平臺間進行無縫移植的可靠保證,同時也是Java程序的安全檢驗引擎。

圖1-1 Java程序處理過程
JVM的定義:JVM是在一臺真正的機器上用軟件方式實現的假想機器。JVM使用的代碼存儲在擴展名為.class的文件中。JVM的某些指令很像真正的CPU指令,包括算術運算、流控制和數組元素訪問等。
Java虛擬機規范提供了編譯所有Java代碼的平臺。因為編譯是針對假想機的,所以該規范能讓Java程序獨立于平臺。它適用于每個具體的硬件平臺,以保證為JVM編譯的代碼的運行。JVM不但可以用軟件實現,而且可以用硬件實現。
Java虛擬機規范對運行時數據區域的劃分及字節碼的優化并不做嚴格的限制,它們的實現依平臺的不同而有所不同。JVM的實現稱做Java運行時系統,簡稱Java運行時(Java Runtime Environment,JRE),其作用是把編譯過的字節代碼“翻譯”成所在硬件平臺可以辨別的機器碼并執行。
Java運行時必須遵從Java虛擬機規范,這樣,Java編譯器生成的類文件才可被所有Java運行時系統下載。嵌入了Java運行時系統的應用程序,就可以執行Java程序。目前,有許多操作系統和瀏覽器都嵌入了Java運行時環境。
Sun Microsystems于1995年發布Java 1.0版本,1997年發布Java 1.1版本,1998年發布Java1.2,Java 1.2及其后的版本有一個統一的名稱:Java 2 Platform。
Sun將最近所開發的Java運行環境區分成四大版本,分別是:
·應用于服務器(Server)上的Java EE(Java Platform,Enterprise Edition);
·應用于一般個人計算機(Personal Computer)上的Java SE(Java Platform,Standard Edition);
·應用于小型設備(Mobile Device)上的Java ME(Java Platform,Micro Edition);
·應用在Smart Card上的Java Card。
本書介紹的運行環境為Java SE(Java Platform,Standard Edition)。