Shutdown Hook vs Finalizer-Methode

Ich verstehe einfach nicht, warum man Runtime.addShutdownHook verwenden muss. Wenn Sie beim Beenden von jvm aufräumen möchten, überladen Sie einfach die finalize-Methode der Daemon-Klasse. Was ist der Vorteil der Verwendung von Shutdown Hook gegenüber der Finalize-Methode?

Es gibt auch eine veraltete Funktion runFinalizersOnExit. Wenn ich den Wert auf false setze, werden Finalizer meines Erachtens nicht ausgeführt. Dies widerspricht der Java-Garantie, dass Finalizer immer vor Garbage Collections ausgeführt werden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage