JVM 記憶體模型

2022-07-10 14:57:14 字數 793 閱讀 2967

------------恢復內容開始------------

學習狂神說筆記 感謝狂神說的分享

私有區一定不會有垃圾**

所謂jvm的調優,其實就是在調整共享區中的堆,而且大多數情況下都在調堆 !

從**來解釋

class test

//我們程式中給定的是 public static int a = 1;

//但是在載入過程中的步驟如下:

1. 載入階段

編譯檔案為 .class檔案,然後通過類載入,載入到jvm

2. 連線階段

第一步(驗證):確保class類檔案沒問題

第二步(準備):先初始化為 a=0。(因為你int型別的初始值為0)

第三步(解析):將引用轉換為直接引用

3. 初始化階段:

通過此解析階段,把1賦值為變數a

------------恢復內容結束------------

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

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

jvm記憶體模型

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

jvm記憶體模型

補充 可見性 乙個執行緒修改了變數,其他執行緒可以立即知道 保證可見性的方法 volatile synchronized unlock之前,寫變數值回主存 final 一旦初始化完成,其他執行緒就可見 有序性 在本執行緒內,操作都是有序的 重排或 主記憶體同步延時 指令重排 執行緒 內序列語義 寫後...