Collecte de déchets GC que les programmeurs Java doivent comprendre, de la fondation JVM zéro au combat avancé

Collecte de déchets GC que les programmeurs Java doivent comprendre, de la fondation JVM zéro au combat avancé

Collecte de déchets GC que les programmeurs Java doivent comprendre, de la fondation JVM zéro au combat avancé



avant-propos

Collecte de déchets GC que les programmeurs Java doivent comprendre, de la fondation JVM zéro au combat avancé


GC Garbage Collection expliqué

  • Pourquoi la collecte des déchets ?

    • Une caractéristique notable du langage Java est l'introduction d'un mécanisme de récupération de place, qui résout le problème de gestion de la mémoire le plus gênant pour les programmeurs C++. En raison d'un mécanisme de récupération de place, les objets en Java n'ont plus le concept de "portée", seules les références d'objet ont une "portée". La récupération de place peut efficacement empêcher les fuites de mémoire et utiliser efficacement la mémoire libre.
  • Quel est le processus de collecte des ordures?

    • Ici, nous prenons la méthode de comptage de référence comme exemple, et le schéma approximatif est le suivant
      Veuillez ajouter une description de l'image
  • Si on vous demandait d'examiner l'algorithme de récupération de place, comment le concevriez-vous ?

    • Remplir les exigences fonctionnelles dont les objets sont recyclés et quels objets ne sont pas recyclés
  • Que l'objet soit vivant ou non

    • Chaque instance d'objet dans le tas a un nombre de références. Lorsqu'un objet est créé et que l'instance d'objet est affectée à une variable, le nombre de variables est défini sur 1. Lorsqu'une autre variable est affectée d'une référence à cet objet, le compte est augmenté de 1 (a = b, alors le compteur de l'instance d'objet référencé par b est +1), mais lorsqu'une référence d'une instance d'objet dépasse la durée de vie ou est défini sur Lorsqu'une nouvelle valeur est obtenue, le compteur de références de l'instance d'objet est décrémenté de 1. Toute instance d'objet avec un nombre de références de 0 peut être ramassée. Lorsqu'une instance d'objet est ramassée, les compteurs de référence de toutes les instances d'objet auxquelles elle fait référence sont décrémentés de 1

Résumer

Cet article présente tout le contenu du ramasse-miettes GC que les programmeurs Java, des bases JVM zéro au combat réel avancé, doivent comprendre. Je continuerai à le mettre à jour à l'avenir. Si vous l'aimez, veuillez cliquer pour suivre. La série JVM continuera à mettre à jour.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42397937/article/details/131684795
conseillé
Classement