Chapitre 5. Collection de déchets avancée
Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com
Dans le dernier chapitre, nous avons présenté la théorie de base du ramasse-miettes Java et le ramasse-miettes de production le plus simple conceptuellement (Parallel). À partir de ce point de départ, nous allons avancer pour présenter une partie de la théorie des ramasse-miettes Java modernes. Après cela, nous présenterons le ramasse-miettes par défaut (G1) utilisé par HotSpot (et GraalVM).
En général, pour la plupart des charges de travail, G1 sera suffisant. Cependant, il existe un certain nombre de scénarios où les compromis inévitables que représente GC guideront le choix du collecteur par l'ingénieur. Ainsi, nous allons également considérer certains collecteurs plus rarement vus. Il s'agit de :
-
Shenandoah
-
Z Garbage Collector (ZGC)
-
Équilibré
-
Collecteurs HotSpot hérités
Note que tous ces collecteurs ne sont pas utilisés dans la machine virtuelle HotSpot - le collecteur Balanced dont nous allons parler est un collecteur d'Eclipse OpenJ9.
Compromis et collecteurs enfichables
Un aspect de la plateforme Java que les débutants ne reconnaissent pas toujours immédiatement est que, bien que Java dispose d'un ramasse-miettes, les spécifications du langage et de la VM ne disent pas comment le GC doit être mis en œuvre. En fait, il y a eu des mises en œuvre de Java (par exemple, Epsilon, que tu rencontreras ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access