¿Debo liberar el objeto result?

miguelmezquita
26 de Febrero del 2004
Hola todos:
Estoy construyendo un bean que devuelve en un arreglo el resultado de cualquier consulta a la BD y en esas andanzas me encontré con algo que resumido se parece a lo siguiente:

ResultSet conjuntoDatos = null;
Statment sentencia = null;
Result result = null;

conjuntoDatos = sentencia.executeQuery("select * from unaTabla");
result = ResultSupport.toResult(conjuntoDatos);
conjuntoDatos.close(); // Aquí se libera el cursor...

Pero cuando termine de utilizar "result" ¿Debo liberarlo?
¿result = null es la manera correcta?

Chema Fuentes
26 de Febrero del 2004
En Java por defecto no se puede liberar memoria de manera explicita. Por defecto, existe un colector de basura al que se puede llamar(aunque no se muy bien como) y que se encarga de liberar la memoria que no se este utilizando (por defecto toda aquella que no este apuntada). De este modo, a menos que sea un bean que realice muchas iteraciones o que gaste mucha memoria por algun motivo, no merece la pena preocuparse con la memoria. Probablemente si apuntas result = null el colector de basura la eliminara en su siguiente iteracion. Sin embargo, si vas muy apurado de memoria deberias investigar bien como llamar al recolector de basura.