【讀書會(huì)第十二期】《深入理解Java虛擬機(jī)》 第1章 Java虛擬機(jī)內(nèi)存管理
運(yùn)行時(shí)數(shù)據(jù)區(qū)域
如圖所示主要分為兩棧、一區(qū)、一堆、一計(jì)數(shù)器
兩棧:虛擬機(jī)棧、本地方法棧
虛擬機(jī)棧
線程私有,java方法執(zhí)行的內(nèi)存模型:每個(gè)方法在執(zhí)行的同時(shí)都會(huì)創(chuàng)建一個(gè)棧幀用于存儲(chǔ)局部變量表、操作數(shù)棧、動(dòng)態(tài)鏈接、方法出口等信息。
本地方法棧
本地方法棧與虛擬機(jī)棧的作用非常相似,虛擬機(jī)棧為執(zhí)行java方法服務(wù),本地方法棧為虛擬機(jī)中使用到的Native方法服務(wù)。
一區(qū):方法區(qū)
所有線程共享,用于存儲(chǔ)已被虛擬機(jī)加載的類信息、常量、靜態(tài)變量、即時(shí)編譯器編譯后的代碼等數(shù)據(jù)。
一堆:堆
內(nèi)存最大,所有線程共享
一計(jì)數(shù)器:程序計(jì)數(shù)器
可以看作是當(dāng)前線程所執(zhí)行的字節(jié)碼行號(hào)指示器
舉例說明:
虛擬機(jī)對(duì)象
對(duì)象的創(chuàng)建
平時(shí)遇到的Exceptions(內(nèi)存溢出)
棧溢出
堆溢出
堆外溢出
Java 虛擬化
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。