4.4 | Entfernen von Objekten
|
In Java gibt es kein Gegenstück zum new-Operator, der ein Objekt
wieder entfernt. Auch Destruktoren im Sinne von C++ gibt es
in Java nicht.
Anstelle expliziter Freigabe von Objekten besitzt Java einen
Mechanismus, der sich automatisch darum kümmert: der Garbage Collector.
Der Garbage Collector läuft in einem Hintergrund-Thread und ermittelt diejenigen Objekte, auf die nicht mehr verwiesen wird.
Diese Objekte werden markiert und danach in einem zweiten Durchgang entfernt.
Der Garbage Collector läuft gleichzeitig mit dem Programm mit niedriger Priorität im Hintergrund.
Er kann aber auch vom Programmierer über den Aufruf
System.gc();
gestartet werden. Die explizite Anforderung des Garbage Collectors sollte aber in Fällen
unterbleiben, in denen das Programm zeitkritische Operationen ausführt,
da der Garbage Collector eine Weile benötigt, um seine Arbeit zu verrichten.
Ferner garantiert auch die explizite Anforderung nicht, dass ein Objekt
tatsächlich abgeräumt wird.
Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.