我這裡有你不知道的JVM的內存結構~

根據 JVM 規範,JVM 內存共分為虛擬機棧、堆、方法區、程序計數器、本地方法棧五個部分。

1、Java虛擬機棧:

線程私有;每個方法在執行的時候會創建一個棧幀,存儲了局部變量表,操作數棧,動態連接,方法返回地址等;每個方法從調用到執行完畢,對應一個棧幀在虛擬機棧中的入棧和出棧。

我這裡有你不知道的JVM的內存結構~

2、堆:

線程共享;被所有線程共享的一塊內存區域,在虛擬機啟動時創建,用於存放對象實例。

3、方法區:

線程共享;被所有線程共享的一塊內存區域;用於存儲已被虛擬機加載的類信息,常量,靜態變量等。

我這裡有你不知道的JVM的內存結構~

4、程序計數器:

線程私有;是當前線程所執行的字節碼的行號指示器,每條線程都要有一個獨立的程序計數器,這類內存也稱為“線程私有”的內存。

5、本地方法棧:

線程私有;主要為虛擬機使用到的Native方法服務

我這裡有你不知道的JVM的內存結構~


分享到:


相關文章: