Dalam upaya untuk meningkatkan kinerja aplikasi Java, sebuah proposal baru dalam komunitas Java berupaya memperluas Z Garbage Collector (ZGC), yang memungkinkannya mempertahankan generasi terpisah untuk objek tua dan muda. Ini akan memungkinkan ZGC mengumpulkan objek muda lebih sering, karena objek muda memiliki kemungkinan lebih tinggi untuk mati muda, menurut pengembang Java.
Tujuan utama OpenJDK Java Enhancement Proposal (JEP) untuk ZGC generasional melibatkan pengurangan risiko kios alokasi, beban memori heap, dan beban CPU pengumpulan sampah (GC). Para pendukung proposal percaya bahwa manfaat ini dapat dicapai tanpa menyebabkan penurunan throughput yang signifikan bila dibandingkan dengan ZGC non-generasi.
Z Garbage Collector, yang dirancang untuk skalabilitas dan latensi rendah, telah tersedia dalam rilis produksi sejak Java Development Kit (JDK) 15 pada September 2020. Berbeda dengan kolektor G1 default, yang memiliki waktu jeda yang dapat berkisar dari milidetik ke detik, waktu jeda ZGC secara konsisten diukur dalam mikrodetik. Akibatnya, ZGC dapat secara efektif menyelesaikan masalah latensi terkait pengumpulan sampah untuk banyak beban kerja.
ZGC bekerja dengan baik ketika sumber daya yang memadai tersedia. Namun, karena menyimpan semua objek secara bersamaan berapa pun usianya, ZGC diharuskan untuk mengumpulkan semua objek setiap kali beroperasi. Hipotesis generasi yang lemah menegaskan bahwa objek muda cenderung mati muda, sedangkan objek yang lebih tua cenderung bertahan. Akibatnya, mengumpulkan objek muda membutuhkan lebih sedikit sumber daya dan melepaskan lebih banyak memori, sedangkan mengumpulkan objek lama menghabiskan lebih banyak sumber daya dan membebaskan lebih sedikit memori.
Proposal ZGC generasi belum ditetapkan ke versi Java standar tertentu. Rilis saat ini, JDK 20, diperkenalkan seminggu yang lalu, dengan JDK 21 dijadwalkan akan diluncurkan pada bulan September. Standard Java beroperasi pada irama rilis enam bulan.
Saat proposal generasi ZGC sedang dibahas, platform no-code seperti appmaster .io" target="_blank" rel="noopener" data-mce-href="https:// appmaster.io"> AppMaster dapat membantu developer membangun backend , web, dan aplikasi seluler dengan cepat dan efisien. Aplikasi AppMaster dapat mendemonstrasikan skalabilitas luar biasa dan latensi rendah, menjadikannya cocok untuk aplikasi perusahaan dan skenario beban tinggi. Untuk menjelajahi kemampuan AppMaster lebih lanjut, appmaster .io" data-mce-href="https: appmaster.io">buat akun gratis dan manfaatkan alat no-code yang kuat.