Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [java] runFinalization

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    220

    [java] runFinalization

    Whuoops sono ancora qui!!
    Sapete dirmi cosa serve la funzione System.runFinalization?

    Ho letto che dovrebbe servire ad essere sicuri che vengano chiamati i metodi finalize degli oggetti che vengono eliminati...implicitamente oppure esplicitamente mediante una System.gc()

    Ma se la System.gc(), prima di eliminare effettivamente gli oggetti, la prima cosa che fa è richiamare i finalize...allora non capisco cosa serva runFinalization!!

    Uh?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    La differenza fra i due metodi credo risieda proprio nell'azione che ciascuno di essi compie:

    1) Il Garbage Collector serve a liberare la memoria
    2) La finalizzazione serve ad eseguire tutte le istruzioni necessarie prima che l'oggetto venga "distrutto" e a marcare l'oggetto come "distrutto".

    In buona sostanza: la finalizzazione dell'oggetto non comporta la liberazione della memoria, che quindi non diviene immediatamente disponibile. E' il Garbage Collector che si occupa di questo. L'altra cosa che viene specificata è che il Garbage Collector richiama automaticamente la finalizzazione dell'oggetto prima di rimuoverlo (sempre che essa non sia già stata effettuata sull'oggetto: il metodo finalize() può essere, infatti, eseguito solo una volta dalla JVM sul particolare oggetto).

    A cosa effettivamente serva, credo che sia un discorso legato a sviluppatori di librerie e/o altri linguaggi basati su Java. Al normale programmatore serve solo System.gc() (che, tra l'altro, è già di per se ridondante, dato che il Garbage Collector entra già in funzione senza che nessuno lo richiami).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.