JVM記憶體整理

2022-03-16 03:31:29 字數 398 閱讀 7833

jvm 記憶體模型

大致分為堆和棧,記憶體共享有方法區和堆,執行緒私有虛擬機器棧和本地方法棧,以及程式計數器

堆主要存放物件例項,方法區主要存放類資訊,常量,靜態變數及時編譯後的**

虛擬機器棧,主要 區域性變數表,運算元棧,動態鏈結和方法出口

何為gc

gc指記憶體**

判斷物件是否可**

1引用計數法

如果物件之間相互引用,無法判斷

2可達性分析演算法

即物件無法達到gc root

如何逃逸,重寫finalize方法,重新引用,finalize方法系統只能呼叫一次

哪些物件可作為gc root

棧(虛擬機器棧引用的物件和本地方法棧引用的物件)

堆(方法區中類靜態屬性引用的物件和常量引用的物件)

jvm記憶體模型 JVM記憶體模型詳情解析

一 結構圖 note string常量池 存在 堆記憶體中 二 各部分詳情解析 1 堆1 老年代 物件年齡 經過一次 monitor gc 年齡加1 15 的會存到 老年代 2 年輕代 3 常量池 string常量 儲存在堆中 2 虛擬機器棧 1 區域性變數表 2 運算元棧 3 動態鏈結 4 方法出...

JVM記憶體劃分

從上圖可以看出,jvm記憶體區域可以簡單的劃分為方法區,堆區,虛擬機器棧,本地方法棧和程式計數器。上圖中,淺色的為執行緒共有的記憶體區域,深色的為執行緒私有的記憶體區域。可以看出,方法區和堆區是所有執行緒之間共享的記憶體區,而棧區和pc則是執行緒本身私有的,不能被其他執行緒所共享。我們簡單的說下各個...

jvm記憶體模型

主要分為棧,堆,方法區,程式計數器 1.程式計數器 2.棧 stack 虛擬機器棧 每個執行緒獨生成乙個棧,執行緒中每呼叫乙個方法生成乙個棧幀,棧幀依次壓棧 棧幀中存放了每個方法的基本資料變數,物件的引用,操作指令,出口資訊等 本地方法棧 存放的是native方法 其他語言寫的 其他和虛擬機器棧一樣...