Java 中的記憶體管理


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

執行緒棧

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

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

靜態變數儲存在堆區域,而儲存在堆上的物件可以由儲存線上程棧中的引用引用。

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

更新於: 2020 年 2 月 24 日

667 次瀏覽

開啟您的 職業生涯

完成課程後獲得認證

開始
Advertisement