
Le projet Z Garbage Collector également connu sous le nom de ZGC a été conçu pour permettre la collecte des objets de plusieurs téraoctets, avec des temps de pause n'excédant pas 10 millisecondes et une réduction du débit inférieur à 15 % par rapport au collecteur G1GC. La proposition pour la faire passer dans l’open source émane de Per Liden, membre de l'équipe travaillant sur la machine virtuelle HotSpot d’Oracle, et a été publiée sur une liste de diffusion OpenJDK. Per Liden se propose pour être à la tête du projet sous la houlette du groupe HotSpot. Liden déclare que l’objectif de cette proposition est de permettre d’élargir la base des contributeurs et utilisateurs de ZGC.
Le ramasse-miettes Z Garbage Collector permet entre autres d’effectuer des opérations comme le chargement d'objets, en même temps que l'exécution des threads d'application. ZGC est également capable d’exécuter des tâches comme le marquage, le traitement de référence, la relocalisation et le compactage. D’autres actions, comme le déchargement de classe et le traitement racine faible, peuvent être effectuées de manière simultanée.
Une des fonctions de base de ZGC est l’usage de barrières de charge et de pointeurs d'objets avec symbole de couleur. L'action qui consiste à charger un objet de référence « field » dans un objet Java est soumise à une barrière de charge. Un pointeur d'objet coloré contient des informations utilisées par la barrière de charge pour déterminer quelle action effectuer avant d'autoriser un thread Java à utiliser le pointeur. Selon Per Liden, les pointeurs colorés permettent de récupérer et de réutiliser de la mémoire pendant la phase de relocalisation et de compactage, avant que les pointeurs pointant vers la zone recyclée aient été corrigés. Cela permet de réduire le nombre global d’objets dans la zone mémoire.
Source : Mail.OpenJDK
Et vous ?

Voir aussi

