Java uygulama performansını artırma çabası içinde, Java topluluğu içindeki yeni bir teklif, genç ve eski nesneler için ayrı nesiller sürdürmesini sağlayarak Z Garbage Collector (ZGC) genişletmeyi amaçlamaktadır. Java geliştiricilerine göre, genç nesnelerin genç yaşta ölme olasılığı daha yüksek olduğundan, bu, ZGC genç nesneleri daha sık toplamasına izin verecektir.
Nesil ZGC için OpenJDK Java Enhancement Proposal (JEP) birincil hedefleri, ayırma duraklama risklerinin, yığın bellek ek yükünün ve çöp toplama (GC) CPU yükünün azaltılmasını içerir. Teklifin savunucuları, nesiller arası olmayan ZGC ile karşılaştırıldığında, bu faydaların iş hacminde önemli bir düşüşe neden olmadan elde edilebileceğine inanmaktadır.
Ölçeklenebilirlik ve düşük gecikme için tasarlanan Z Garbage Collector, Eylül 2020'deki Java Development Kit (JDK) 15 bu yana üretim sürümlerinde mevcuttur. Milisaniyeler arasında değişebilen duraklama sürelerine sahip varsayılan G1 toplayıcının aksine saniyeye kadar, ZGC duraklama süreleri sürekli olarak mikrosaniye cinsinden ölçülür. Sonuç olarak ZGC, birçok iş yükü için çöp toplamayla ilgili gecikme sorunlarını etkili bir şekilde çözebilir.
ZGC yeterli kaynaklar mevcut olduğunda iyi performans gösterir. Ancak, tüm nesneleri yaşlarına bakılmaksızın bir arada sakladığından, ZGC her çalıştığında tüm nesneleri toplaması gerekir. Zayıf nesiller hipotezi, genç nesnelerin genç yaşta ölme eğiliminde olduğunu, buna karşın daha eski nesnelerin muhtemelen varlığını sürdüreceğini ileri sürer. Sonuç olarak, genç nesneleri toplamak daha az kaynak gerektirir ve daha fazla bellek serbest bırakırken, eski nesneleri toplamak daha fazla kaynak tüketir ve daha az bellek boşaltır.
Nesil ZGC önerisi henüz belirli bir standart Java sürümüne atanmamıştır. Geçerli sürüm olan JDK 20 bir hafta önce tanıtıldı ve JDK 21 Eylül ayında piyasaya sürülmesi planlanıyor. Standart Java, altı aylık bir yayın temposunda çalışır.
Kuşaklar arası ZGC önerisi tartışılırken, appmaster .io" target="_blank" rel="noopener" data-mce-href="https:// appmaster.io"> AppMaster gibi no-code platformlar, geliştiricilerin arka uç oluşturmasına yardımcı olabilir AppMaster _ appmaster.io">ücretsiz bir hesap oluşturun ve güçlü no-code araçlarından yararlanın.