Java啟蒙之路-Java虛擬機
Java虛擬機概念
Java虛擬機(Java Virtual Machine,JVM)是一個抽象的計算機,和實際的計算機一樣,通過模擬仿真來實現計算機功能。Java虛擬機不僅有自己本身的硬件架構,如處理器、堆棧、寄存器,還具有相應的指令系統。
Java的運行機制
Java的跨平臺是它的主要特性之一,而Java虛擬機是實現這一特性的關鍵。Java程序的整個執行過程包括編譯階段與運行階段,其中涉及到Java源程序、Java字節碼文件、Java類庫和Java虛擬機以及最后的平臺。
在Java編譯階段,編寫的Java源程序(.java)經過Java編譯器編譯成字節碼文件(.class)后并保存起來。
在Java運行階段,獲取到保存的.class字節碼文件以及源程序中引用的類庫Java API的字節碼文件,然后通過類裝載器(Class Loader)將這些文件一并裝載到內存緩沖區,接著Java虛擬機開始執行這些文件并生成目標代碼(字節碼)。由于Java虛擬機可以將字節碼程序跟具體的操作系統及硬件平臺分割開來,只要各平臺實現了Java虛擬機,任何Java程序就可以在其上面運行了。

Java程序執行過程
類比理解:《長江七號》
《長江七號》里的那個七仔是外星人,可是它說的話地球人聽不懂啊(各國人好比各系統平臺,七仔說的話好比Java源文件),然后地球人就想盡辦,終于發明了那么一款軟件可以跟七仔交流(這個軟件就好比Java虛擬機),它的原理是將七仔說的話先使用電磁波譜顯示出來(這個過程好比使用Java編譯器將Java源文件編譯成.class字節碼文件),然后地球人(不管美國、英國、中國、韓國等哪國人)只要使用這款軟件(這就好比各平臺實現了Java虛擬機)把電磁波譜解讀出來并智能地翻譯成對應國家的母語(這個過程好比Java虛擬機將計算機不能執行的Java程序轉換成各平臺能識別的二進制),然后地球人就能與七仔交流了。哈哈,是不是很好理解?

Java程序執行簡化過程
小結
以上內容是對Java虛擬機進行了一個簡單的理解,以后將會深入地理解Java虛擬機運行機制。現在只需理解Java虛擬機在Java程序執行過程中的作用即可。


















