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