Dies scheint eine einfache Frage zu sein, aber nachdem ich viel über das Thema gelesen habe, habe ich immer noch keine endgültige Antwort gefunden (vielleicht, weil es so einfach ist).
Meine Frage lautet: Wenn ein Garbage Collector Objekte im Heap komprimiert, wie werden die Verweise auf diese Objekte im Stack aktualisiert? Ich kann mir zwei mögliche Lösungen vorstellen:
- Durchsuchen Sie den Stapel (und die Verweise im Heap) und aktualisieren Sie den Verweis, um auf die neue Position des Objekts zu verweisen. In Analogie zum Umzug würde dies bedeuten, dass Sie jedem, der Ihre Adresse hat, einen Brief senden und ihn bitten, sein Adressbuch mit Ihrer neuen Adresse zu aktualisieren.
- Stellen Sie eine Art Nachschlagetabelle zur Verfügung. Das wäre so, als würde man eine Weiterleitungsadresse bei der örtlichen Post hinterlassen.
Wenden Müllsammler überwiegend eine dieser beiden Methoden an? Eine andere Methode? Beide?