天天看點

JVM運作時記憶體劃分與JVM記憶體模型

JVM運作時記憶體資料區的劃分和JVM記憶體模型其實沒有什麼直接的聯系,是兩種不同層次的劃分,但是常常就容易把它們的概念搞混了。這裡記錄一下。

JVM運作時資料區

運作時資料區是JVM在執行代碼的過程中為了友善管理劃分的區域,各種記憶體溢出、垃圾回收,就是基于這個概念的。

JVM運作時記憶體劃分與JVM記憶體模型

JVM記憶體模型

記憶體模型定義了各種變量的通路規則,規定了怎麼讀變量和怎麼寫變量的細節,線程安全、各種鎖,就是基于這個概念的。

JVM運作時記憶體劃分與JVM記憶體模型
JVM運作時記憶體劃分與JVM記憶體模型

[圖檔來源]: 深入了解Java虛拟機:JVM進階特性與最佳實踐(第3版)