Wie schlau ist Garbage Collection, wenn es um verschachtelte Referenzen geht?.Net: Verschachtelte Referenzen
Nehmen Sie diesen Code zum Beispiel:
Public Class SomeClass
Private m_SomeOtherClass(Me)
End Class
Ich weiß, dass GC Werke betrachten, wie viele Referenzen bleiben, und jedes Objekt ohne Verweis landet abgeladen zu werden. Also, in diesem Fall, wo es eine Referenz gibt, die von einer Mitgliedsvariablen kommt, ist das ein Speicherleck, das darauf wartet zu passieren (es sei denn, Sie implementieren IDisposable, usw.)?
Momentan nehme ich an, dass der GC intelligent genug dafür ist, da er wahrscheinlich überprüfen könnte, ob irgendwelche Referenzen vom Objekt selbst kommen, und sie einfach nicht auf die Referenzzählung zählen. Aber ich dachte, ich würde ein bisschen graben.
Also beginnt es von einer Reihe von Wurzeln, und geht hinaus, und alles, was nicht referenziert wird, geht. Und es zählt überhaupt keine Referenzen, nehme ich an? –
Richtig, ich werde die Antwort ein wenig erweitern. –