Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路程式設計

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 其他

Java APIs 和框架

Java 類參考

Java 有用資源

Java 12 垃圾回收機制的變更



Java 12 對其垃圾回收演算法進行了多項增強。

JEP 189 – Shenandoah:低暫停時間垃圾收集器(實驗性)

Shenandoah 是一種實驗性的低暫停時間垃圾收集器,旨在減少 GC 暫停時間。它與正在執行的 Java 執行緒並行工作。這有助於減少 GC 對堆大小的依賴性並使其保持一致。現在,無論是 2MB 還是 2GB 的堆空間,垃圾回收暫停時間都將相似。

Shenandoah 預計將作為 Java 15 的主要 JAVA 版本的一部分。

JEP 346 – 及時返回未使用的已提交記憶體

在 Java 12 中,如果應用程式處於非活動狀態,G1 將處理 Java 堆空間,並可能將記憶體釋放回作業系統。這種主動行為可以節省和釋放記憶體。

JEP 344:可中止的混合收集

在 Java 12 中,G1 的效率得到了提高。現在,如果 G1 混合收集超過定義的暫停限制,則可以中止。現在混合收集被分成強制性和可選性。G1 收集器可以優先處理強制性集合以檢查暫停時間目標。

廣告