更新時間:2021-06-15 來源:黑馬程序員 瀏覽量:
(1)問題分析:
JVM(虛擬機)的內(nèi)存劃分
不同的數(shù)據(jù)使用的是哪一塊內(nèi)存空間
(2)核心答案講解:
Java虛擬機有那幾塊內(nèi)存空間:
1)棧內(nèi)存:方法運行時所進(jìn)入的內(nèi)存,里面還會存儲程序的局部變量
2)堆空間:new出來的數(shù)據(jù)都會進(jìn)入堆內(nèi)存
3)方法區(qū):字節(jié)碼文件如加載時所進(jìn)入的內(nèi)存
4)本地方法區(qū):這塊內(nèi)存空間主要調(diào)用的是操作系統(tǒng)相關(guān)資源
5)寄存器:交給CPU進(jìn)行使用的
案例:創(chuàng)建javaBean類并使用
(3)問題擴展:
案例:帶有線程的內(nèi)存圖
1)每一個線程都會有自己獨立的棧內(nèi)存空間
2)堆內(nèi)存中的數(shù)據(jù)是被多個線程所共享的
(4)結(jié)合項目中使用:
多線程消費同一個產(chǎn)品,可以將商品定義為共享資源,存放于對內(nèi)存中。