|
ZGC大堆Java垃圾回收器可能會開源
投票截止到11月8日,批準項目請求,可以與紅帽的Shenandoah競爭
面向大堆的Oracle開發的低延遲Java垃圾收集器可能會轉移到開源社區,如果這樣做的提案得到社區的批準。投票截止到十一月八號。
被稱為Z垃圾收集器(ZGC),該項目旨在支持多字節堆,暫停時間不超過10毫秒,與G1垃圾收集器相比,不超過15%的應用程序降低吞吐量。
但根據Oracle的HotSpot虛擬機團隊成員Per Liden在OpenJDK郵件列表中提出的建議,ZGC的開發人員并不認為這些目標是每個工作負載的“硬要求”。 Liden的建議要求創建一個ZGC項目,他將以HotSpot集團為贊助商。
使用ZGC,可以在運行應用程序線程的同時執行諸如對象加載的操作。 ZGC執行包括標記,參考處理和重定位/壓縮的任務。剩余的任務,包括卸載和弱根處理,并發。
ZGC的核心設計原則是使用負載障礙物和彩色物體指針。在Java對象中加載引用字段對象的行為受到負載障礙;彩色對象指針具有負載屏障使用的信息,以確定在允許Java線程使用指針之前是否必須采取措施。 Liden表示,彩色指針在重定位和壓縮階段允許回收和重新使用內存,指針指向回收區域的指針已被修復。這有助于保持一般堆積的開銷。
ZGC項目的一些工作已經在別的地方找到了一個用例,其中包括一個atomics重寫和一個垃圾回收障礙API。
ZGC可以與Red Hat的Shenandoah Java垃圾收集項目爭取關注,該項目也適用于大型堆棧應用。
|
|