Garbage Collector Artikel Zusammenfassung in Deutsch

Interessanter Artikel über:
Garbage Collection Automatic Memory Management in the Microsoft .NET Framework

Zusammenfassung:
- GC nimmt dem Entwickler gesamte Speichermanagement ab


- Bei Prozess Start wird von der Runtime ein zusammenhängender Speicher (Managed Heap) reserviert


-NextObjPtr zeigt auf den nächsten freien Speicherbereich im Managed Head

- Wird ein Objekt erzeugt wird einfach das Objekt im Managed Head abgelegt und zum NextObjPtr die Grösse des Objekts dazugezählt

- Sehr schnell diese Speicherzuweisung (Memory allocation), sogar schneller als C Speicherzuweisung

- Aber das beruht auf Annahme dass Speicher unendlich ist

- Daher, wenn Speicher voll ist, wird Speicher vom GC (Garbage Collector) aufgeräumt; Das braucht Zeit --> Performance leidet

- Der GC haut alle Objekte raus auf die keine Referenz mehr existiert und packt die restliche Objekte im Managed Heap zusammen Danach wird der NextObjPtr wieder richtig gesetzt

- Es gibt die Finalize Methode die von einem Objekt implementiert werden kann, wenn Dinge erledigt werden müssen, die beim Entfernen des Objekts aus dem Speicher gemacht wird
protected override void Finalize()
{
}

- Destruktor Methode wird mit Welle und Objektnamen angegeben; Diese Methode wird beim Zerstören des Objekts aufgerufen, und ersetzt eigentlich die Finalize Methode

~TestObject()
{
}

- Finalize sollte nicht verwendet werden

- Es gibt eine Finalization Queue, die dazu dient Object Pointer zu halten die eine Finalization Methode haben

- Es gibt eine F-Reachable Queue (Freachable), die dazu dient Object Pointer zu halten deren Finalization Methode aufgerufen werden sollte

- Special Runtime Thread ruft Finalization Methode der Objekte in der F-Reachable Queue auf

- Close oder Dispose Methode sind Standard für die Durchführung eines händischen Aufräumens (Clean Ups), und diese sollten implementiert werden

- SuppressFinalize(object obj) bewirkt dass der GC die Finalize Methode des Objekts obj nicht aufruft

Latest Posts

Popular Posts