1. 程式人生 > >java程式執行機制和jvm

java程式執行機制和jvm

歷史:

sun在1996年釋出了JDK1.0.這個版本包括了兩部分:執行環境(JRE)和開發環境(JDK)。JRE中包含了了核心API,整合API,使用者介面API,釋出技術,java虛擬機器(jvm)五部分;JDK包括了編譯java程式的編譯器(即javac命令)。

jre包含jvm,jvm是執行java程式的核心虛擬機器,而執行java程式不僅需要核心虛擬機器,還需要其他類載入器,位元組碼校驗器以及大量基礎類庫。jre還包含了執行java程式的其他環境支援。

sun在1997年釋出jdk1.1。增加了JIT(即時編譯)編譯器。JIT和傳統的編譯器不同,傳統的編譯器是編譯一條,執行完後再將其扔掉,而JIT會將經常用到的指令儲存在記憶體中,當下次呼叫時就不需要重新編譯了,提高效率。

sun把java分為javase,javaee,javame三個部分。而且為javaSe和javaee分別提供jdk和javaee sdk兩個開發包。

執行機制:

java語言是一種特殊的高階語言,它既具有解釋性語言的特徵,也具有編譯型語言的特徵,因為java程式要經過先編譯,後解釋兩個步驟。

編譯型:一次性將原始碼翻譯成特定平臺可執行的機器碼。 有些程式編譯結束後需要對目的碼連結,最終生成可執行程式,實現程式碼複用。

解釋型:一邊編譯一邊執行。

java先編譯成.class檔案,然後執行在jvm上。jvm是不同平臺和class檔案轉換器。