Cela semble être une question simple, mais après beaucoup de lecture sur le sujet, je n'ai toujours pas trouvé de réponse définitive (peut-être parce que c'est si simple).
Ma question est la suivante: lorsqu'un garbage collector compacte des objets dans le tas, comment les références à ces objets dans la pile sont-elles mises à jour? Je peux penser à deux solutions possibles:
- Parcourez la pile (et les références dans le tas) et mettez à jour la référence pour pointer vers le nouvel emplacement de l'objet. Par analogie avec le déménagement, cela reviendrait à envoyer une lettre à toute personne possédant votre adresse et à lui demander de mettre à jour son carnet d'adresses avec votre nouvelle adresse.
- Fournissez une sorte de table de recherche. Ce serait comme laisser une adresse de réexpédition au bureau de poste local.
Les éboueurs utilisent-ils principalement l'une de ces deux méthodes? Une autre méthode? Tous les deux?