溫馨提示×

溫馨提示×

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

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

java中JVM運(yùn)行時內(nèi)存整理的示例分析

發(fā)布時間:2021-04-30 14:23:19 來源:億速云 閱讀:125 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)java中JVM運(yùn)行時內(nèi)存整理的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Java可以用來干什么

Java主要應(yīng)用于:1. web開發(fā);2. Android開發(fā);3. 客戶端開發(fā);4. 網(wǎng)頁開發(fā);5. 企業(yè)級應(yīng)用開發(fā);6. Java大數(shù)據(jù)開發(fā);7.游戲開發(fā)等。

在學(xué)習(xí)JVM有關(guān)內(nèi)容的時候,我們經(jīng)常會遇到堆、棧之類的知識點(diǎn),對于新手來說,JVM的內(nèi)容問題是不太理解的,這是因?yàn)楹芏嗳嗽诨A(chǔ)知識點(diǎn)方面,對于概念的理解不是很透徹。

1、方法區(qū)是所有線程共享的,虛擬棧,本地方法棧和程序計(jì)數(shù)器是線程私有的。也就是說虛擬棧,本地方法和程序計(jì)數(shù)器是線程隔離的。程序計(jì)數(shù)器是唯一不會出現(xiàn)oom的部分。

2、程序計(jì)數(shù)器可以看成當(dāng)前線程執(zhí)行的字節(jié)碼的行號暗示器。

3、虛擬機(jī)棧和線程的生命周期是一樣的,當(dāng)線程執(zhí)行的時候會創(chuàng)建一個棧幀,用于存放當(dāng)前線程的方法出口,局部變量表,操作數(shù)棧,動態(tài)連接等信息。

4、本地方法棧用于調(diào)用native方法使用。

5、是所有線程共享的部分,用于存儲創(chuàng)建的對象。

6、方法區(qū)一樣都是所有線程共享的,方法區(qū)主要用于存放虛擬機(jī)加載的類的信息,常量,靜態(tài)常量等信息。

除了運(yùn)行時數(shù)據(jù)區(qū)外還有一部分內(nèi)存是不受虛擬機(jī)管理的部分,這一部分就是直接內(nèi)存,直接內(nèi)存是直接在物理的memory分配,我們經(jīng)常使用的 ByteBuffer. allocateDirect 就是直接在物理內(nèi)存上分配的。但是在虛擬機(jī)里面會有這部分內(nèi)存的引用,以便對這一部分內(nèi)存進(jìn)行管理。

感謝各位的閱讀!關(guān)于“java中JVM運(yùn)行時內(nèi)存整理的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

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

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

AI