- Anche in Java possiamo prevedere un metodo da invocare prima di eliminare dalla memoria
un oggetto
- Questo metodo avrà il nome finalize, sarà un metodo protected senza valore
di ritorno nè parametri
- Il metodo finalize sostituirà sempre un metodo finalize di una superclasse, in quanto
almeno la classe Object possiede un metodo finalize
- Il metodo finalize deve poter inviare l'eccezione Throwable
- Il metodo finalize viene invocato dal sistema prima di liberare la memoria per l'oggetto,
quindi viene in realtà invocato dal garbage collector, nel momento in cui recupera la
memoria dell'oggetto, tempo dopo che l'ultimo riferimento all'oggetto è stato eliminato
- Si può anche richiedere esplicitamente la garbage collection richiamando il metodo
System.gc()
|