更新時(shí)間:2023-02-10 16:44:16 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2338次
Java虛擬機(jī)的內(nèi)存可以分為三個(gè)區(qū)域:棧stack、堆heap、方法區(qū)method area,方法區(qū)其實(shí)在堆的內(nèi)部。JVM的內(nèi)存總構(gòu)成為棧和堆。
棧stack
棧的特點(diǎn)如下:
1.棧描述的是方法執(zhí)行的內(nèi)存模型。毎個(gè)方法被調(diào)用都會(huì)創(chuàng)建一個(gè)棧幀(存儲(chǔ)局部變量、操作數(shù)、方法出口等)
2.JVM為每個(gè)線程創(chuàng)建一個(gè)棧,用于存放該線程執(zhí)行方法的信息(實(shí)際參數(shù)、局部變量等)
3.棧屬于線程私有,不能實(shí)現(xiàn)線程間的共享
4.棧的存儲(chǔ)特性是“先進(jìn)后出,后進(jìn)先出”(彈夾效果)
5.棧是由系統(tǒng)自動(dòng)分配,速度快!棧是一個(gè)連續(xù)的內(nèi)存空間
堆
堆的特點(diǎn)如下:
1.堆用于存儲(chǔ)創(chuàng)建好的對(duì)象和數(shù)組(數(shù)組也是對(duì)象)
2.JVM只有一個(gè)堆,被所有線程共享
3.堆是一個(gè)不連續(xù)的內(nèi)存空間,分配靈活,速度慢!
方法區(qū)
方法區(qū)(又叫靜態(tài)區(qū))特點(diǎn)如下
1.JVM只有一個(gè)方法區(qū),被所有線程共享!
2.方法區(qū)實(shí)際也是堆,只是用于存儲(chǔ)類、常量相關(guān)的信息!
3.用來(lái)存放程序中永遠(yuǎn)是不變或唯一的內(nèi)容。(類信息【 Class對(duì)象】、靜態(tài)變量、字符串常量等)
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"棧、堆、方法區(qū)這三個(gè)的特點(diǎn)都是?",希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您務(wù)。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743