J’ai du mal à comprendre et à obtenir plus de détails sur les étapes à suivre dans les cycles de collecte permanents de la CMS.
Ces étapes sont expliquées dans de nombreux endroits très rapidement. Mais si je dois les décrire dans une classe avec des diagrammes et des exemples psuedo, où puis-je obtenir ces informations?
PS – J’ai longuement cherché sur Google, il contient beaucoup de textes et de jargon que je comprends. Mais je cherche une explication plus animée pour pouvoir enseigner à mon public.
Ce sont quelques-uns des liens qui sont populaires, le 3ème était très prometteur mais il n’a pas expliqué le CMS en particulier
Cher tout le monde, merci de me commenter et de m’indiquer quelques ressources. J’ai essayé de créer une représentation visuelle des étapes du système de gestion de contenu. Pouvez-vous me dire si cela correspond à votre compréhension?
De plus, il me semble manquer l’étape de compactage, à quelle étape appartient-elle?
Réponse : Ok, le compactage n’est donc pas géré par le CMS. Il est délégué à la totalité du CPG.
Pour moi
http://insightfullogic.com/blog/2013/may/7/garbage-collection-java-3
avec ses prédécesseurs
http://insightfullogic.com/blog/2013/feb/20/garbage-collection-java-1
http://insightfullogic.com/blog/2013/mar/6/garbage-collection-java-2
fait comprendre. J’avais oublié de lire les liens mentionnés par @gap_j ci-dessus, qui sont également très bons.
Vous avez demandé où se trouve l’étape de compactage, mais le CMS n’en a pas. Cela peut entraîner des problèmes, notamment une augmentation du coût d’allocation de mémoire (car la machine virtuelle Java doit utiliser list pour déterminer la mémoire disponible et ne peut pas simplement allouer de la mémoire à partir de la fin de l’espace occupé) et cela peut parfois signifier un tas fragmenté.
À partir de Java 1.5, il y a une autre phase qui est omise: le “pré-nettoyage abortable simultané”. Il vise à retarder la remarque jusqu’à ce que l’occupation souhaitée soit atteinte dans l’espace Eden.
Sinon, vous êtes sur la bonne voie.
Je vous suggère de consulter ce vieux livre blanc oracle gc et cette description étape par étape des journaux CMS gc . Cela confirme les étapes que vous avez mises dans les images.
Cet article de blog résume bien les choses.