Object.finalize() existiert seit Java 1.0 als Methode, die der Garbage Collector kurz vor dem Dereferenzieren geeigneter Objekts aufruft, um Bereinigungsmaßnahmen durchzuführen, wie z.B. Schließen von Datenbankverbindungen, File Handles, Netzwerkverbindungen oder ähnliche Ressourcenfreigabe.
Diese Methode ist aber nicht immer zuverlässig, da die JVM entscheidet, ob sie aufgerufen wird, oder nicht. Seit Java 9 ist sie deprecated und soll in absehbarer Zeit entfernt werden.
Diese Session präsentiert Alternativen wie das Cleaner API, PhantomReference, AutoCloseable oder Try with Resources inklusive anschaulicher Hands-On Beispiele.