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 finalize besteht darin, dass sie aufgerufen wird, wenn und wann der virtuelle Java™-Computer 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 finalize, jedoch 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 Java-Programmiersprache 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 Java-Computer 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 anderer 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 virtuellen Java-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 vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: