Java虚拟机运行时的数据区域
生活随笔
收集整理的這篇文章主要介紹了
Java虚拟机运行时的数据区域
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.堆區(qū)(Heap)
(1)Heap是被所用線程共享的區(qū)域,是虛擬機中內存最大的一塊。
(2)它的唯一目的就是存放對象的實例。
例如:A a=new A(100);
存放在堆中的是A(100)這個new出來的對象信息,而不是a這個對象引用
(3)它也是GC垃圾回收的主要區(qū)域,主要用分代收集算法
?
2.棧區(qū)(VM Stack)
(1)每個線程包含一個棧區(qū),不被共享
(2)方法執(zhí)行時存儲基本類型變量區(qū)、執(zhí)行環(huán)境上下文、操作指令區(qū)
例如上面的對象引用a
?
3.方法區(qū)
(1)是各個線程共享的區(qū)域
(2)存儲類(class)信息、靜態(tài)數(shù)據(jù)(static)、常量(final)以及編譯后的代碼數(shù)據(jù)
?
總結
以上是生活随笔為你收集整理的Java虚拟机运行时的数据区域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode上删除链表末尾第N个节点
- 下一篇: String类中的intern()方法详