JVM內存管理

JAVA的JVM的內存可分爲3個區:堆(heap)、棧(stack)和方法區(method)

 

堆區:存儲的均爲對象,不包含數據基本類型、對象引用;

棧區(3部分組成):基本數據類型區、執行環境上下文、操作指令區;

方法區:其被所有線程共享,包含 所有class、static變量;

 

堆區:
1.存儲的全部是對象,每個對象都包含一個與之對應的class的信息。(class的目的是得到操作指令);
2.jvm只有一個堆區(heap)被所有線程共享,堆中不存放基本類型和對象引用,只存放對象本身。


棧區:
1.每個線程包含一個棧區,棧中只保存基礎數據類型的對象和自定義對象的引用(不是對象),對象都存放在堆區中;
2.每個棧中的數據(原始類型和對象引用)都是私有的,其他棧不能訪問;
3.棧分爲3個部分:基本類型變量區、執行環境上下文、操作指令區(存放操作指令)。


方法區:
1.又叫靜態區,跟堆一樣,被所有的線程共享。方法區包含所有的class和static變量。
2.方法區中包含的都是在整個程序中永遠唯一的元素,如class,static變量。

 

 
發佈了43 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章