溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java虛擬機(jī)的基本組成是什么

發(fā)布時(shí)間:2020-11-05 10:07:56 來源:億速云 閱讀:202 作者:小新 欄目:編程語言

這篇文章主要介紹了java虛擬機(jī)的基本組成是什么,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

java虛擬機(jī)的基本組成:

類加載子系統(tǒng)、運(yùn)行時(shí)數(shù)據(jù)區(qū)(JVM內(nèi)存模型)、執(zhí)行引擎、本地方法接口

java虛擬機(jī)的基本組成是什么

類加載器:

主要負(fù)責(zé)把編譯好的.class字節(jié)碼文件裝入運(yùn)行時(shí)數(shù)據(jù)區(qū),以供運(yùn)行時(shí)數(shù)據(jù)區(qū)使用。

運(yùn)行時(shí)數(shù)據(jù)區(qū)(JVM內(nèi)存模型):

1、堆:主要存放對(duì)象,多線程共享(垃圾回收的主要區(qū)域)。

2、方法區(qū):主要存放常量,靜態(tài)變量,類元信息(類名,方法,字段,版本等等)。

3、線程棧:存儲(chǔ)方法參數(shù)、局部變量、中間運(yùn)算結(jié)果、對(duì)象的引用、并且提供部分其它模塊工作需要的數(shù)據(jù)等。

4、本地方法棧: 本地方法棧為虛擬機(jī)使用到的native方法服務(wù)。

5、程序計(jì)數(shù)器:當(dāng)前線程所執(zhí)行的字節(jié)碼的行號(hào)指示器,當(dāng)執(zhí)行本地方法時(shí)為null。

執(zhí)行引擎:

執(zhí)行引擎是JVM執(zhí)行Java字節(jié)碼的核心,執(zhí)行方式主要分為解釋執(zhí)行、編譯執(zhí)行、自適應(yīng)優(yōu)化執(zhí)行、硬件芯片執(zhí)行方式。

本地方法接口:

非java語言實(shí)現(xiàn)的方法接口。

jdk1.8 jvm內(nèi)存結(jié)構(gòu)圖:

java虛擬機(jī)的基本組成是什么

JVM內(nèi)存模型 1.8之前 和 1.8區(qū)別:

java虛擬機(jī)的基本組成是什么

主要差別:

1、元數(shù)據(jù)區(qū)取代了永久代。元空間的本質(zhì)和永久代類似,都是對(duì)JVM規(guī)范中方法區(qū)的實(shí)現(xiàn)(ps:方法區(qū)是java虛擬機(jī)中的規(guī)范,而永久代和元空間都是方法區(qū)的一種實(shí)現(xiàn))。

2、元數(shù)據(jù)區(qū)從虛擬機(jī)中移動(dòng)到了本地內(nèi)存。

3、jdk1.8中常量池和靜態(tài)變量移動(dòng)到了堆中存儲(chǔ)(邏輯上還是屬于方法區(qū))

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享java虛擬機(jī)的基本組成是什么內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI