茶葉網(wǎng)站建設(shè)策劃書ppt推廣平臺網(wǎng)站有哪些
無痛快速學(xué)習(xí)入門JVM,歡迎訂閱本免費(fèi)專欄
運(yùn)行時(shí)數(shù)據(jù)區(qū)結(jié)構(gòu)圖如下:
可分為 5 個區(qū)域,分別是方法區(qū)、堆區(qū)、虛擬機(jī)棧、本地方法棧、程序計(jì)數(shù)器。這里大概介紹一下各個模塊的作用,會在后面的文章展開講。
類加載子系統(tǒng)會把類信息加載到方法區(qū),程序運(yùn)行時(shí)會創(chuàng)建線程,每個線程都有自己的虛擬機(jī)棧、本地方法棧、程序計(jì)數(shù)器,線程每執(zhí)行一個方法就會創(chuàng)建一個棧幀,如果執(zhí)行的是 JVM 本地方法則會創(chuàng)建一個本地方法棧幀。線程執(zhí)行期間創(chuàng)建的對象會被放到堆區(qū)。程序計(jì)數(shù)器的作用是記錄當(dāng)前線程要執(zhí)行的下一條指令的地址。
方法區(qū)、堆區(qū)為線程共享。類加載子系統(tǒng)會把類加載到方法區(qū);所有線程創(chuàng)建的對象都會放到堆區(qū);
Java方法棧區(qū)里的棧、本地方法棧區(qū)里的棧、程序計(jì)數(shù)器每個線程都會創(chuàng)建,屬于線程獨(dú)享。
后面的文章展開介紹各個區(qū)域。