Java 中的記憶體管理


Java 記憶體模型分為執行緒棧(每個執行緒一個)和堆區域。

執行緒棧

它是執行緒特定的記憶體區域,包含區域性變數、方法呼叫資訊等。JVM 棧可以是固定大小或可變大小。如果某個執行緒中的計算超出了其棧大小限制,則 JVM 會丟擲 StackOverflowError 並退出。

它包含應用程式生命週期中建立的所有物件。堆在虛擬機器啟動時建立。垃圾回收器為物件回收堆儲存空間,並且物件永遠不會被顯式釋放。JVM 不會使用任何自動儲存管理系統,並且可能會根據系統要求改變。堆可以是固定大小,也可以根據要求而變化。堆的記憶體不必是連續的。

靜態變數儲存在堆區域中,儲存在堆中的物件可透過儲存線上程棧中的引用來引用。

區域性變數儲存在堆疊區域中。

更新時間: 24-Feb-2020

667 閱讀

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告