java:栈空间,堆空间,方法区
生活随笔
收集整理的這篇文章主要介紹了
java:栈空间,堆空间,方法区
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
棧空間:
1. 棧是方法執(zhí)行的內(nèi)存模型,用棧存儲(chǔ)方法執(zhí)行的信息是再合適不過(guò)了。每個(gè)方法被調(diào)用都會(huì)創(chuàng)建一個(gè)棧幀(存儲(chǔ)局部變量,操作數(shù),方法出口等)。
2. JVM為每一個(gè)線程創(chuàng)建一個(gè)棧,用于存放該線程執(zhí)行方法的信息。
3. 棧屬于線程私有,不能實(shí)現(xiàn)線程間的共享!
?4. 棧的存儲(chǔ)特性是“先進(jìn)后出,后進(jìn)先出”
?5. 棧是由系統(tǒng)自動(dòng)分配,速度快!棧是一塊連續(xù)的內(nèi)存空間。
?
? 棧主要是用來(lái)存放對(duì)象的,主要是用來(lái)執(zhí)行程序的。相對(duì)于堆,棧的存取速度更快,但棧的大小和生存期必須是確定的,因此缺乏一定的靈活性。
? 而堆卻可以在運(yùn)行時(shí)動(dòng)態(tài)的分配內(nèi)存,生存期不用提前告訴編譯器,但這也導(dǎo)致了其存取速度的緩慢。
?
堆空間
?
方法區(qū)?
總結(jié)
以上是生活随笔為你收集整理的java:栈空间,堆空间,方法区的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java结构图
- 下一篇: java:垃圾回收机制(Garbage