JVM運行時內存數據區的劃分和JVM內存模型其實沒有什麼直接的聯繫,是兩種不同層次的劃分,但是常常就容易把它們的概念搞混了。這裏記錄一下。
JVM運行時數據區
運行時數據區是JVM在執行代碼的過程中爲了方便管理劃分的區域,各種內存溢出、垃圾回收,就是基於這個概念的。
JVM內存模型
內存模型定義了各種變量的訪問規則,規定了怎麼讀變量和怎麼寫變量的細節,線程安全、各種鎖,就是基於這個概念的。
[圖片來源]: 深入理解Java虛擬機:JVM高級特性與最佳實踐(第3版)
JVM運行時內存數據區的劃分和JVM內存模型其實沒有什麼直接的聯繫,是兩種不同層次的劃分,但是常常就容易把它們的概念搞混了。這裏記錄一下。
運行時數據區是JVM在執行代碼的過程中爲了方便管理劃分的區域,各種內存溢出、垃圾回收,就是基於這個概念的。
內存模型定義了各種變量的訪問規則,規定了怎麼讀變量和怎麼寫變量的細節,線程安全、各種鎖,就是基於這個概念的。
[圖片來源]: 深入理解Java虛擬機:JVM高級特性與最佳實踐(第3版)
Java word通過html設置樣式(Spire Docx) <dependencies> <!-- Apache POI dependency for Word --> <dependency>