Java目前是互聯網行業內非常熱門的開發語言,java開發受到廣大行業人才的熱捧。中培課堂《企業級JAVA高級開發技術實戰》專家劉老師在這里就java虛擬機進行詳細介紹。
龔老師指出,虛擬機 JVM(Java Virtual Machine)在 Java 編程里面具有非常重要的地位,約相當于前面學到的 Java 運行環境,虛擬機的基本功能如下:
(1)通過 ClassLoader 尋找和裝載 class 文件
(2)解釋字節碼成為指令并執行,提供 class 文件的運行環境
(3)進行運行期間垃圾回收
(4)提供與硬件交互的平臺
Java虛擬機是在真實機器中用軟件模擬實現的一種想象機器。Java虛擬機代碼被存儲在.class文件中;每個文件都包含最多一個public類。Java 虛擬機規范為不同的硬件平臺提供了一種編譯Java技術代碼的規范,該規范使Java 軟件獨立于平臺,因為編譯是針對作為虛擬機的“一般機器”而做。這個“一般機器”可用軟件模擬并運行于各種現存的計算機系統,也可用硬件來實現。編譯器在獲取Java應用程序的源代碼后,將其生成字節碼,它是為JVM生成的一種機器碼指令。每個Java解釋器,不管它是Java技術開發工具,還是可運行 applets的Web瀏覽器,都可執行JVM。
JVM 為下列各項做出了定義:
- 指令集(相當于中央處理器[CPU])
- 寄存器
- 類文件格式
- 棧
- 垃圾收集堆
- 存儲區
JVM 的代碼格式由緊縮有效的字節碼構成。由 JVM 字節碼編寫的程序必須保持適當的類型約束。大部分類型檢查是在編譯時完成。任何從屬的 Java 技術解釋器必須能夠運行任何含有類文件的程序,這些類文件應符合 Java 虛擬機規范中所指定的類文件格式。
虛擬機是 Java 平臺無關的保障。正是因為有虛擬機這個中間層,Java 才能夠實現與平臺無關。虛擬機就好比是一個 Java運行的基本平臺,所有的 Java 程序都運行在虛擬機上,這也是虛擬機在Java開發方面重要作用的原因所在。