溫馨提示×

溫馨提示×

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

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

java中jvm的存儲區(qū)類型有哪些

發(fā)布時間:2021-03-01 17:17:18 來源:億速云 閱讀:143 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)java中jvm的存儲區(qū)類型有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1、分類

JVM有兩種類型的存儲區(qū):常量緩沖池和方法區(qū)。常量緩沖池用于存儲類名、方法名和字段名以及字符串常量。方法區(qū)用于存儲Java方法的字節(jié)碼。JVM規(guī)范中沒有規(guī)定這兩個存儲區(qū)域的具體實現(xiàn)。因此,Java應(yīng)用程序的存儲布局必須在運行過程中確定,這取決于具體平臺的實現(xiàn)。

JVM是對Java字節(jié)代碼定義的獨立平臺的規(guī)格說明,是Java平臺獨立性的基礎(chǔ)。目前JVM還存在一些限制和不足,需要進一步完善,但無論如何,JVM的思想都是成功的。

2、比較分析

將Java源程序想象為我們的C++源程序,Java源程序編譯后生成的字節(jié)代碼相當于C++源程序編譯后的80x86機器代碼(二進制程序文件),JVM虛擬機相當于80x86計算機系統(tǒng)在80x86CPU運行的是機器代碼,在Java解釋器運行的是Java字節(jié)代碼。

Java解釋器相當于運行Java字節(jié)碼的CPU,但這種CPU不是通過硬件實現(xiàn)的,而是通過軟件實現(xiàn)的。Java解釋器實際上是特定平臺下的應(yīng)用程序。只要實現(xiàn)了特定平臺下的解釋器程序,Java字節(jié)碼就可以通過解釋器程序在該平臺下運行,這是Java跨平臺的根本。目前,并非所有平臺下都有相應(yīng)的Java解釋器程序,這也是Java不能在所有平臺下運行的原因,只能在實現(xiàn)Java解釋器程序的平臺下運行。

知識點擴充:

JVM是Java Virtual Machine(Java虛擬機)的縮寫,JVM是一種用于計算設(shè)備的規(guī)范,它是一個虛構(gòu)出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現(xiàn)的。Java虛擬機包括一套字節(jié)碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域。 JVM屏蔽了與具體操作系統(tǒng)平臺相關(guān)的信息,使Java程序只需生成在Java虛擬機上運行的目標代碼(字節(jié)碼),就可以在多種平臺上不加修改地運行。JVM在執(zhí)行字節(jié)碼時,實際上最終還是把字節(jié)碼解釋成具體平臺上的機器指令執(zhí)行。

1、JVM是java的核心和基礎(chǔ),在java編譯器和os平臺之間的虛擬處理器。它是一種利用軟件方法實現(xiàn)的抽象的計算機基于下層的操作系統(tǒng)和硬件平臺,可以在上面執(zhí)行java的字節(jié)碼程序。

2、JVM的體系結(jié)構(gòu):

類裝載器(ClassLoader)(用來裝載.class文件)

執(zhí)行引擎(執(zhí)行字節(jié)碼,或者執(zhí)行本地方法)

運行時數(shù)據(jù)區(qū)(方法區(qū)、堆、java棧、PC寄存器、本地方法棧)

上述就是小編為大家分享的java中jvm的存儲區(qū)類型有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI