� poss�vel ressucitar um objeto apenas uma vez... segue o codigo:
public class Teste extends Object {
public static Teste instancia;
public Teste() {}
public String oi() {return "oi";}
public void finalize {
instancia = this;
System.out.println("finalize()");
}
public static void main(String a[]) {
Teste t = new Teste();
t = null; // removeu a unica referencia q restava ao objeto Teste
System.gc(); // qdo ele for remover o objeto da memoria, vai executar o
finalize, entao "finalize()" serah impresso no console
t = Teste.instancia; // instancia recebeu a referencia ao objeto Teste
durante o metodo finalize, entao ainda temos o objeto
// agora vem o legal
t = null; // removemos uma referencia
Teste.instancia = null; // removemos a ULTIMA referencia ao objeto
Teste (adios amigo)
System.gc(); // serah q vai ressucitar o objeto?! pois a principio isso
deveria executar o finalize... axo q nao heim... bom, vamos ver...
t = Teste.instancia; // serah q recuperamos o objeto?
System.out.println(t.oi()); // oooops!!! NullPointerException!!!
System.exit(1);
}
}
_.~._.~._.~._.~._.~._.~._.~._.~._
Programador Java Junior, 19 anos.
_.~._.~._.~._.~._.~._.~._.~._.~._
Email: [EMAIL PROTECTED]
#UIN: 8584744
_______________________________________________________________________
Yahoo! Encontros
O lugar certo para encontrar a sua alma g�mea.
http://br.encontros.yahoo.com/
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]