6. Object Destruction
Eine Object Destruction in diesem Sinne, daß heißt
Freigeben von Speicher nicht mehr benötigter Variablen, gibt es nicht
(z.B. im Vergleich zu C++).
Stattdessen wird diese Aufgabe automatisch durch die
"Garbage Collection" erledigt:
Der Speicher eines Objektes wird freigegeben, sobald
es keine Referenz mehr auf das Objekt gibt.
Um eine Objekt manuell zu löschen, d.h. die Speicherfreigabe
erzwingen, kann man einfach das Objekt gleich dem Null-Zeiger setzen.
Dadurch gibt es keine Referenz mehr auf den Speicher
des Objektes, und die Garbage Collection kann nun diesen freigeben.
Es gibt aber auch noch die finalizer-Methode:
void finalize() { ... }
Diese wird aufgerufen, bevor die Garbage Collection den
Speicher eines Objektes freigibt. Die finalizer-Methode kann z.B. benutzt
werden, um offene Dateien zu schließen, da dies nicht automatisch
von der Garbage Collection erledigt wird.
vorherige Seite Inhalt nächste Seite