Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    15

    Java , Gc E Finalize Che Non Funz.

    import java.lang.*;

    public class TweFour {
    public void finalize(){
    System.out.println("Finalize");
    }
    public static void main(String[] args){
    TweFour a= new TweFour();
    System.gc();
    }
    }

    In questo programma viene chiamato system.gc per chiamare finalize forzatamente in quanto gc distrugge tutti gli oggetti inutilizzati, al momento della chiamata vengono distrutti gli oggetti e stampata la frase!
    Ma questo non avviene!
    Forse è per il fatto che gli oggetti servono ancora?
    Come mai funziona ma la frase in finalize non viene stampata a schermo?

    Grazie!

  2. #2
    perchè quando viene invocato lo scope della variabile non è ancora finito.
    infatti hai allocato lo spazio per un oggetto, e subito dopo invochi il garbage collector: siccome sei ancora all'interno della funzione che ha creato l'oggetto, la VM "pensa" che ti potrebbe ancora essere utile e quindi non lo prende in considerazione.

    se invece provi in questo modo, vedrai che funziona:
    codice:
    [SUPERSAIBAL]
    public class TweFour {
       public void finalize(){
          System.out.println("Finalize");
       }
    
       public static void main(String[] args){
          pippo();
          System.gc();
       }
    
       public static void pippo(){
          TweFour a= new TweFour();
       }
    }[/SUPERSAIBAL]
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

  3. #3
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    15
    Grazie mille!
    PS: Bella la vichinga!

  4. #4
    Originariamente inviato da brobaker
    Grazie mille!
    PS: Bella la vichinga!
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

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 © 2025 vBulletin Solutions, Inc. All rights reserved.