Hola a todos.
Tengo Objetos que manejan ciertos recursos, y lo necesito lograr que se liberen esos recursos cuando "estos objetos" se destruyan.
He pensado en extender el metodo protected void finalize() throws Throwable"
Leyendo el el api, me parece que es lo indicado.
protected void finalize()
"Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. A subclass overrides the finalize method to dispose of system resources or to perform other cleanup." ...
Pero aparentemente no logro el efecto deseado, por lo que realize la siguiente clase como "prueba de concepto".
package pruebas;
public class Keyssi {
public Keyssi() {
X x = new X();
x = new X(); // Pierdo referencia anterior
x = new X(); // Pierdo referencia anterior
}
public static void main(String[] args) {
Keyssi keyssi1 = new Keyssi();
keyssi1 = new Keyssi(); // Pierdo referencia anterior
keyssi1 = null; // Pierdo referencia anterior
}
class X {
protected void finalize() throws Throwable{
System.out.println("Finalize x");
System.err.println("Finalize x");
super.finalize();
}
}
}
public Keyssi() {
X x = new X();
x = new X(); // Pierdo referencia anterior
x = new X(); // Pierdo referencia anterior
}
public static void main(String[] args) {
Keyssi keyssi1 = new Keyssi();
keyssi1 = new Keyssi(); // Pierdo referencia anterior
keyssi1 = null; // Pierdo referencia anterior
}
class X {
protected void finalize() throws Throwable{
System.out.println("Finalize x");
System.err.println("Finalize x");
super.finalize();
}
}
}
Al ejecutar la clase no obtengo la salida "Finalize x".
¿Alguien podría explicarme por que / o como se logra la ejecución de codigo en un finalize()?
gracias.
----- Original Message -----From: Pablo Fernando SanchezTo: Desarrollo de Software en Oracle JDeveloper (lista de discusión) ; Desarrollo de Software en Java/J++/J# (lista de discusión) ; Anuncio de Listas y Otros Recursos de Sistemas y Tecnologías de Información (lista de distribución)Sent: Wednesday, January 08, 2003 3:04 PMSubject: [Java] Anuncio | Liberado JMichelleSui 0.9.7Producto: JMichelleSui 0.9.7
URL: http://www003.upp.so-net.ne.jp/midori/JMichelle.html
Tipo: Código abierto
Descripción: JMichelleSui is a File Manager written in Java and SWT.
---
Este e-mail está certificado en origen como libre de virus.
Checked by AVG anti-virus system: http://www.grisoft.com?aff_id=1492
Version: 6.0.438 / Virus Database: 246 - Release Date: 07/01/2003
------------------------------
DesarrolloJava:
Desarrollo de Software en J2EE/Java
------------------------------
Direcciones de la lista:
Publicar un mensaje: DesarrolloJava@...
Suscribirse........: DesarrolloJava-Subscribe@...
Desuscribirse......: DesarrolloJava-Unsubscribe@...
Administrador......: DesarrolloJava-Owner@...
Página de la lista.: http://www.gruposyahoo.com.ar/group/DesarrolloJava
------------------------------
http://www.navegana.com/dinero/chanzes.html
Tu uso de Yahoo! Grupos está sujeto a las Condiciones del servicio de Yahoo!.