首頁 >Java >Java入門 >java虛擬機器的基本組成介紹

java虛擬機器的基本組成介紹

王林
王林轉載
2020-11-04 16:11:092894瀏覽

java虛擬機器的基本組成介紹

java虛擬機的基本組成:

(影片教學分享:java課程

類別載入子系統、運行時資料區(JVM記憶體模型)、執行引擎、本機方法介面

java虛擬機器的基本組成介紹

#類別載入器:

主要負責把編譯好的.class字節碼檔案裝入運行時資料區,以供運行時資料區使用。

運行時資料區(JVM記憶體模型):

1、堆:主要存放對象,多執行緒共享(垃圾回收的主要區域)。

2、方法區:主要存放常數,靜態變量,類別元資訊(類別名,方法,字段,版本等等)。

3、執行緒堆疊:儲存方法參數、局部變數、中間運算結果、物件的參考、並提供部分其它模組工作所需的資料等。

4、本機方法堆疊: 本地方法堆疊為虛擬機器使用到的native方法服務。

5、程式計數器:目前執行緒所執行的字節碼的行號指示器,執行本地方法時為null。

執行引擎:

執行引擎是JVM執行Java字節碼的核心,執行方式主要分為解釋執行、編譯執行、自適應最佳化執行、硬體晶片執行方式。

本地方法介面:

非java語言實作的方法介面。

jdk1.8 jvm記憶體結構圖:

java虛擬機器的基本組成介紹

JVM記憶體模型1.8之前與1.8差異:

java虛擬機器的基本組成介紹

#主要差異:

1、元資料區取代了永久代。元空間的本質和永久代類似,都是JVM規範中方法區的實作(ps:方法區是java虛擬機中的規範,而永久代和元空間都是方法區的實作)。

2、元資料區從虛擬機器移動到了本機記憶體。

3、jdk1.8中常數池和靜態變數移動到了堆中儲存(邏輯上還是屬於方法區)

相關推薦:java入門

以上是java虛擬機器的基本組成介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除