In een poging om de prestaties van Java-applicaties te verbeteren, probeert een nieuw voorstel binnen de Java-gemeenschap de Z Garbage Collector (ZGC) uit te breiden, waardoor het gescheiden generaties voor jonge en oude objecten kan behouden. Hierdoor zou ZGC vaker jonge objecten kunnen verzamelen, aangezien jonge objecten volgens Java-ontwikkelaars een grotere kans hebben om jong te sterven.
De primaire doelstellingen van het OpenJDK Java Enhancement Proposal (JEP) voor generatie- ZGC zijn het verminderen van de risico's van het vastlopen van de toewijzing, de overhead van het heap-geheugen en de CPU-overhead van de garbage collection (GC). De voorstanders van het voorstel zijn van mening dat deze voordelen kunnen worden behaald zonder een significante afname van de doorvoer te veroorzaken in vergelijking met niet-generationele ZGC.
De Z Garbage Collector, die is ontworpen voor schaalbaarheid en lage latentie, is beschikbaar in productiereleases sinds de Java Development Kit (JDK) 15 in september 2020. In tegenstelling tot de standaard G1-collector, die pauzetijden heeft die kunnen variëren van milliseconden tot seconden worden ZGC pauzetijden consistent gemeten in microseconden. Bijgevolg kan ZGC latentieproblemen met betrekking tot het verzamelen van afval voor veel workloads effectief oplossen.
ZGC presteert goed als er voldoende middelen beschikbaar zijn. Omdat het echter alle objecten bij elkaar opslaat, ongeacht hun leeftijd, is ZGC verplicht om alle objecten te verzamelen elke keer dat het actief is. De zwakke generatiehypothese stelt dat jonge objecten de neiging hebben jong te sterven, terwijl oudere objecten waarschijnlijk zullen blijven bestaan. Als gevolg hiervan vereist het verzamelen van jonge objecten minder middelen en maakt het meer geheugen vrij, terwijl het verzamelen van oude objecten meer middelen verbruikt en minder geheugen vrijmaakt.
Het generatie- ZGC voorstel is nog niet toegewezen aan een specifieke standaard Java-versie. De huidige release, JDK 20, werd een week geleden geïntroduceerd en JDK 21 staat gepland voor september. Standaard Java werkt met een release-cadans van zes maanden.
Terwijl het generatie- ZGC voorstel wordt besproken, kunnen no-code platforms zoals appmaster .io" target="_blank" rel="noopener" data-mce-href="https:// appmaster.io"> AppMaster ontwikkelaars helpen bij het bouwen van een backend , web- en mobiele applicaties snel en efficiënt. AppMaster applicaties kunnen uitstekende schaalbaarheid en lage latentie aantonen, waardoor ze geschikt zijn voor bedrijfsapplicaties en scenario's met hoge belasting. Om de mogelijkheden van AppMaster verder te verkennen, appmaster .io" data-mce-href="https: //studio. appmaster.io">Maak een gratis account aan en profiteer van de sterke tools no-code.