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