您好,歡迎來到賦能網(wǎng)!

java培訓(xùn)中jvm 的主要組成部分

賦能網(wǎng) 2023-06-13 183

java虛擬機有自己完善的硬件架構(gòu),如處理器、堆棧等,還具有相應(yīng)的指令系統(tǒng)。JVM包含兩個子系統(tǒng)和兩個組件,兩個子系統(tǒng)為 (類裝載)、執(zhí)行引擎);兩個組件為 (運行時數(shù)據(jù)區(qū))、 (本地接口)。

1.類加載器(Class Loader):加載類文件到內(nèi)存。Class loader只管加載,只要符合文件結(jié)構(gòu)就加載,至于能否運行,它不負責,那是有Exectution Engine 負責的。

2.執(zhí)行引擎(Execution Engine):也叫解釋器,負責解釋命令,交由操作系統(tǒng)執(zhí)行。

3.本地庫接口(Native Interface):本地接口的作用是融合不同的語言為java所用

4.運行時數(shù)據(jù)區(qū)(Runtime Data Area):

(1)堆。堆是java對象的存儲區(qū)域,任何用new字段分配的java對象實例和數(shù)組,都被分配在堆上,java堆可用-Xms和-Xmx進行內(nèi)存控制,jdk1.7以后,運行時常量池從方法區(qū)移到了堆上。

(2)方法區(qū):用于存儲已被虛擬機加載的類信息,常量,靜態(tài)變量,即時編譯器編譯后的代碼等數(shù)據(jù)。

誤區(qū):方法區(qū)不等于永生代

很多人原因把方法區(qū)稱作“永久代”(Permanent Generation),本質(zhì)上兩者并不等價,只是HotSpot虛擬機垃圾回收器團隊把GC分代收集擴展到了方法區(qū),或者說是用來永久代來實現(xiàn)方法區(qū)而已,這樣能省去專門為方法區(qū)編寫內(nèi)存管理的代碼,但是在Jdk8也移除了“永久代”,使用Native Memory來實現(xiàn)方法區(qū)。

(3)虛擬機棧:虛擬機棧中執(zhí)行每個方法的時候,都會創(chuàng)建一個棧楨用于存儲局部變量表,操作數(shù)棧,動態(tài)鏈接,方法出口等信息。

(4)本地方法棧:與虛擬機發(fā)揮的作用相似,相比于虛擬機棧為Java方法服務(wù),本地方法棧為虛擬機使用的Native方法服務(wù),執(zhí)行每個本地方法的時候,都會創(chuàng)建一個棧幀用于存儲局部變量表,操作數(shù)棧,動態(tài)鏈接,方法出口等信息。

(5)程序計數(shù)器。指示Java虛擬機下一條需要執(zhí)行的字節(jié)碼指令。

java培訓(xùn)中jvm 的主要組成部分

組件的作用:

首先通過類加載器(ClassLoader)會把 Java 代碼轉(zhuǎn)換成字節(jié)碼,運行時數(shù)據(jù)區(qū)(Runtime Data Area)再把字節(jié)碼加載到內(nèi)存中,而字節(jié)碼文件只是 JVM 的一套指令集規(guī)范,并不能直接交個底層操作系統(tǒng)去執(zhí)行,因此需要特定的命令解析器執(zhí)行引擎(Execution Engine),將字節(jié)碼翻譯成底層系統(tǒng)指令,再交由 CPU 去執(zhí)行,而這個過程中需要調(diào)用其他語言的本地庫接口(Native Interface)來實現(xiàn)整個程序的功能。

想要了解跟多關(guān)于java培訓(xùn)課程內(nèi)容歡迎關(guān)注賦能網(wǎng)java培訓(xùn),賦能網(wǎng)除了這些技術(shù)文章外還有免費的高質(zhì)量大 java培訓(xùn)課程視頻供廣大學(xué)員下載學(xué)習。

 

 


java培訓(xùn)中jvm 的主要組成部分

相關(guān): java培訓(xùn) | Mybatis 中的 PreparedStatement 預(yù)編譯——學(xué)習java開發(fā)培訓(xùn)技術(shù)好就業(yè)嗎

本文鏈接:

本文章“java培訓(xùn)中jvm 的主要組成部分”已幫助 183 人

免責聲明:本信息由用戶發(fā)布,本站不承擔本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機構(gòu)》培訓(xùn)課程》學(xué)習資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細解答:
咨詢熱線:4008-569-579

如果本頁不是您要找的課程,您也可以百度查找一下: