Java運行時數(shù)據(jù)區(qū)

學習了一些與Java虛擬機相關(guān)的比較基本的知識,還是得寫一寫加深印象。


運行時數(shù)據(jù)區(qū)

程序計數(shù)器:線程私有,生命周期與線程的生命周期一樣。程序計數(shù)器用于標記線程執(zhí)行的字節(jié)碼的位置。字節(jié)碼解釋器,通過改變計數(shù)器的值來選取執(zhí)行的字節(jié)碼指令如分支、循環(huán)、跳轉(zhuǎn)、線程恢復。

虛擬機棧:線程私有,生命周期與線程的生命周期一樣。在線程調(diào)用Java方法時創(chuàng)建棧幀用于儲存局部變量表、操作數(shù)棧、動態(tài)鏈接、方法出口。其中局部變量表存放了基本數(shù)據(jù)類型,對象引用和returnAdress類型。

本地方法棧:線程私有,生命周期與線程的生命周期一樣。線程調(diào)用本地方法時創(chuàng)建棧幀,過程類似于虛擬機棧。

堆:線程共享,用于儲存實例變量。

方法區(qū):線程共享。用于存儲編譯后Java方法的類相關(guān)的東西,類信息、常量、靜態(tài)變量等。運行時常量池在方法區(qū)中,包含字面量、符號引用、直接引用。常量池在Class文件中,包含字面量和符號引用,常量池在類加載進方法區(qū)運行時,會被放進運行時常量池。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容