JVM運行時數據區總結

一、運行時數據區分爲以下幾個模塊

在這裏插入圖片描述
注:其中本地方法棧、虛擬機棧、程序計數器是單線程私有,Java堆和方法區多線程共享

二、分區簡單介紹

1. 虛擬機棧

虛擬機棧是由棧幀組成的,調用一個方法就往虛擬機棧中壓入一個棧幀。棧幀用於存儲局部變量表、操作數棧、動態鏈接、方法出口等信息。

2.程序計數器

當前線程所執行的字節碼行號指示器。

3.本地方法棧

爲虛擬機用到的Native方法服務。

4.Java堆

此內存區域的唯一目的就是存放對象實例,幾乎所有的對象實例都在這裏分配內存。也是垃圾收集器管理的主要區域。Java堆可以處於物理上不連續的內存空間,只要邏輯上是連續的即可。

5.方法區

存儲信息有類信息、常量、靜態變量、即時編譯器編譯後的代碼等數據。

三、最後附上一張存儲內容的介紹圖

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章