內(nèi)存結(jié)構(gòu)
虛擬機內(nèi)存結(jié)構(gòu)
1,程序計數(shù)器叙甸,每一個線程有一個獨立程序計數(shù)器颖医,記錄java代碼指令位置,執(zhí)行native代碼時undefined裆蒸。
2熔萧,虛擬機棧,線程私有,和線程一起創(chuàng)建佛致,生命周期和線程相同贮缕,基本類型和對象引用存儲,每個方法一個棧幀俺榆,保存局部變量感昼、操作數(shù)棧、方法返回值肋演、返回地址抑诸。方法結(jié)束時,彈出返回值爹殊,清除棧幀蜕乡。棧頂是正在執(zhí)行的活動棧幀(當(dāng)前方法)。StackOverflowError異常梗夸,oom異常层玲。
3,方法區(qū)反症,線程共享辛块,jvm加載的類元數(shù)據(jù)信息,常量池铅碍,靜態(tài)變量润绵,空間不足時oom異常。
4胞谈,堆區(qū)尘盼,線程共享,實例和數(shù)組烦绳,運行時數(shù)據(jù)區(qū)卿捎,會產(chǎn)生oom異常,垃圾回收區(qū)径密。
任重而道遠(yuǎn)