首頁  >  文章  >  Java  >  java是如何進行記憶體分配的

java是如何進行記憶體分配的

王林
王林原創
2019-11-15 14:35:342826瀏覽

java是如何進行記憶體分配的

具體的概念:

JVM的記憶體可分為3個區:堆疊(heap)、堆疊(stack)和方法區(method,也叫靜態區)。

分配情況:

堆區: 

1、儲存的全部是對象,每個物件都包含一個與之對應的class的資訊(class的目的在於得到操作指令);

2、jvm只有一個堆區(heap),且被所有執行緒共享,堆中不存放基本型別和物件引用,只存放物件本身和陣列本身;

堆疊區: 

1、每個執行緒包含一個堆疊區,堆疊中只保存基礎資料型別本身和自訂物件的參考;

2、每個堆疊中的資料(原始類型和物件參考)都是私有的,其他堆疊不能存取;

3、堆疊分為3個部分:基本類型變數區、執行環境上下文、操作指令區(存放操作指令);

方法區(靜態區): 

1、被所有的執行緒共享,方法區包含所有的class(class是指類別的原始程式碼,要創建一個類別的對象,首先要把該類別的程式碼載入到方法區中,並且初始化)和static變數。 ;

2、方法區包含的都是在整個程式中永遠唯一的元素,如class,static變數。  

推薦教學:Java教學

#

以上是java是如何進行記憶體分配的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn