JVM執行時資料區

2021-08-29 02:55:37 字數 526 閱讀 5069

根據 jvm 規範,jvm 記憶體共分為虛擬機器棧、堆、方法區、程式計數器、本地方法棧五個部分。

記憶體空間(runtime data area)中可以按照是否執行緒共享分為兩塊,執行緒共享的是方法區(method area)和堆(heap),執行緒獨享的是虛擬機器棧(vm stack),本地方法棧(native method stack)和pc暫存器(program counter register)。

具體參見下圖:

區域是否執行緒共享

是否會記憶體溢位

程式計數器否不會

虛擬機器棧否會

本地方法棧否會

堆是會方法區是會

附件(棧、堆、方法區互動):

JVM 執行時資料區

jdk版本 8 class檔案 class content class物件 物件 的含義 class檔案 儲存在磁碟上的.class檔案 十六進製制位元組碼檔案 class content 類載入器子系統載入class檔案,儲存到記憶體中的位元組流,解析前這塊記憶體區域叫class content ...

JVM執行時資料區

1.1.hotspot vm 是之前使用最廣泛的j a虛擬機器,1.2.jrockit vm 是bea 開發的一款虛擬機器是 號稱 執行最快的j a虛擬機器 1.3.j9 vm 是ibm開發的一款虛擬機器 1.4.dalvik vm 是google 開發的一款移動端虛擬機器 1.5 taobaovm...

JVM執行時資料區 方法區

在hotspot jvm實現當中,在jdk8以前,方法區的實現為permgen,即永久代,主要存放類的資訊,方法的資訊,常量池,靜態變數,符號解析 而jdk8 則去除了permgen,使用元空間metaspace代替,元空間使用的是本地記憶體,理論上可以無限大,最大大小指受限於本地記憶體大小,所以不...