Distruttore

  • 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()

© Ing. Stefano Salvi - All rights reserved