Java虛擬機器內部體系結構


JVM(Java虛擬機器)是一個抽象機器。 它是一個提供可以執行Java位元組碼的執行時環境的規範。JVM可用於許多硬體和軟體平台(即JVM是平台相關的)。

什麼是JVM?

JVM(Java虛擬機器)是:

  1. 指定Java虛擬機器的工作的規範。 但實現提供程式是獨立的選擇演算法。 其實現是由Sun和其他公司提供。

  2. 它的實現被稱為JRE(Java執行時環境)。

  3. 執行時範例只要在命令提示字元上編寫java命令來執行java類,就會建立JVM的範例。

JVM(Java虛擬機器)能做什麼?

JVM執行以下操作:

  • 載入程式碼
  • 驗證程式碼
  • 執行程式碼
  • 提供執行時環境

JVM提供了以下定義:

  • 記憶體區
  • 類檔案格式
  • 暫存器集合
  • 垃圾收集堆
  • 致命錯誤報告等

JVM(Java虛擬機器)內部體系結構

下面讓我們來了解JVM的內部架構。它包含類載入器,記憶體區域,執行引擎等。

1)類載入器

Classloader是JVM的一個子系統,用於載入類檔案。

2)類(方法)區域

類(方法)區域儲存每個類結構,例如執行時常數池,欄位和方法資料,方法的程式碼。

3)堆

它是分配物件的執行時資料區。

4)堆疊
Java堆疊儲存影格。它儲存區域性變數和部分結果,並在方法呼叫和返回中起作用。
每個執行緒都有一個私有JVM堆疊,同時建立執行緒。每次呼叫方法時都會建立一個新的框架。 框架在其方法呼叫完成時被銷毀。

5)程式計數器暫存器

PC(程式計數器)暫存器。 它包含當前正在執行的Java虛擬機器指令的地址。

6)本地方法堆疊

它包含應用程式中使用的所有本地方法。

7)執行引擎

執行引擎包含:

  1. 虛擬處理器
  2. 直譯器:讀取位元組碼流,然後執行指令。
  3. 即時(JIT)編譯器:它用於提高效能,JIT編譯的同時有類似位元組程式碼部分的功能,從而減少編譯所需的時間。編譯器是指從Java虛擬機器(JVM)的指令集到特定CPU的指令集的轉換器。