In diesem Artikel wird die Zerstörungsmethode von Objekten in Java detaillierter analysiert. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
Grundlegende Datentypvariablen und Objektnamenreferenzvariablen in Java sind alle lokale Variablen, wenn sie in einer Methode definiert sind. Das Objekt selbst hat jedoch nicht unbedingt einen lokalen Lebenszyklus. Wenn außerhalb der Funktion weitere Referenzvariablen zum Objekt vorhanden sind, erstreckt sich der Lebenszyklus des Objekts bis zu dem Block, in dem sich die anderen Referenzvariablen befinden.
Wenn der Wert oder Rückgabewert von der Parameterreferenz der aufgerufenen Funktion an die Objekttypvariable der Hauptaufruffunktion übergeben wird, existiert das Objekt noch (aber der Lebenszyklus der Referenzvariable des Objekts der aufgerufenen Funktion endet, also Die Referenzvariable ist eine lokale Variable. Zu diesem Zeitpunkt durchbricht das Objekt die lokale Lebensdauer der lokalen Variablen.
Zerstörung von Java-Objekten
Der Garbage Collector in Java scannt regelmäßig den dynamischen Speicher von Java-Objekten und markiert alle Referenzobjekte. Nachdem das Objekt ausgeführt wurde (dem Objekt sind keine Referenzvariablen zugeordnet), werden seine Markierungen gelöscht und alle nicht markierten Objekte werden als Müll recycelt und der von den Müllobjekten belegte Speicherplatz wird freigegeben.
Nachdem das Objekt ausgeführt wurde oder sein Lebenszyklus endet, wird es zu einem Müllobjekt. Dies bedeutet jedoch nicht, dass es sofort recycelt wird. Sie werden nur recycelt, wenn der Garbage Collector inaktiv ist oder nicht genügend Speicher vorhanden ist.
Jedes Objekt in Java verfügt über eine finalize()-Methode:
protected void finalize()throws Throwable{}
Der Garbage Collector ruft beim Recycling eines Objekts automatisch die finalize()-Methode des Objekts auf, um Systemressourcen freizugeben.
finalize()-Funktionsprototyp:
protected void | finalize () Wird vom Garbage Collector für ein Objekt aufgerufen, wenn GarbageDie Sammlung stellt fest, dass keine weiteren Verweise auf vorhanden sind das Objekt. |