Sprache

Object.JavaFinalize Methode

Definition

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

[Android.Runtime.Register("finalize", "()V", "GetJavaFinalizeHandler")]
protected virtual void JavaFinalize();
[<Android.Runtime.Register("finalize", "()V", "GetJavaFinalizeHandler")>]
abstract member JavaFinalize : unit -> unit
override this.JavaFinalize : unit -> unit
Attribute

Ausnahmen

Hinweise

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. Eine Unterklasse überschreibt die finalize Methode zum Löschen von Systemressourcen oder zum Ausführen anderer Bereinigungen.

Der allgemeine Vertrag besteht finalize darin, dass sie aufgerufen wird, wenn und wenn der virtuelle Computer Java festgestellt hat, dass es keine Mittel mehr gibt, auf die dieses Objekt von einem Thread zugegriffen werden kann, der noch nicht gestorben ist, außer aufgrund einer Aktion, die durch die Fertigstellung eines anderen Objekts oder einer anderen Klasse ausgeführt wird, die abgeschlossen werden kann. Die finalize Methode kann jede Aktion ausführen, einschließlich der Bereitstellung dieses Objekts wieder für andere Threads. Der übliche Zweck von finalizejedoch besteht darin, Bereinigungsaktionen auszuführen, bevor das Objekt unwiderruflich verworfen wird. Die finalize-Methode für ein Objekt, das eine Eingabe-/Ausgabeverbindung darstellt, kann beispielsweise explizite E/A-Transaktionen ausführen, um die Verbindung zu unterbrechen, bevor das Objekt endgültig verworfen wird.

Die finalize Methode der Klasse Object führt keine spezielle Aktion aus; sie wird einfach normal zurückgegeben. Unterklassen dieser Object Definition können überschreiben.

Die programmiersprache Java garantiert nicht, welcher Thread die finalize Methode für ein bestimmtes Objekt aufruft. Es ist jedoch gewährleistet, dass der Thread, der die Finalisierung aufruft, keine benutzer sichtbaren Synchronisierungssperren enthält, wenn die Endgültigeisierung aufgerufen wird. Wenn eine nicht abgeschlossene Ausnahme durch die finalize-Methode ausgelöst wird, wird die Ausnahme ignoriert und die Fertigstellung dieses Objekts beendet.

Nachdem die finalize Methode für ein Objekt aufgerufen wurde, wird keine weitere Aktion ausgeführt, bis der virtuelle Computer Java erneut festgestellt hat, dass es keine Mittel mehr gibt, auf die dieses Objekt von einem Thread zugegriffen werden kann, der noch nicht gestorben ist, einschließlich möglicher Aktionen durch andere Objekte oder Klassen, die fertig gestellt werden können, An welcher Stelle das Objekt verworfen werden kann.

Die finalize Methode wird nie mehr als einmal von einem Java virtuellen Computer für ein bestimmtes Objekt aufgerufen.

Jede Ausnahme, die von der finalize Methode ausgelöst wird, bewirkt, dass die Finalisierung dieses Objekts angehalten wird, andernfalls wird sie ignoriert.

Java Dokumentation für java.lang.Object.finalize().

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: