Java - duda jdk7+sql

   
Vista:

duda jdk7+sql

Publicado por rita (1 intervención) el 24/09/2011 23:06:39
Hola, tengo una duda sobre algo que lei de JDK7 respecto al cierre de recursos, bueno mi duda en particular va relacionada con los metodos connection con, statement s y resulset. r

esta seria mi pregunta relacionada a la noticia que postie;
¿Creen que esta nueva caracteristica del jdk7 sea más segura? ya que evita los cierres manuales, porque se declaran los recursos en el try. y ya no se deberia hacer lo tipico con.close,s.close,r.close

esto encontre en una noticia
**************************************************************************************************************
Gestión automática de recursos

Un "recurso" es un objeto que tiene que cerrarse manualmente,
como ser java.io.InputStream, OutputStream, Reader, Writer, Formatter;
java.nio.Channel;java.net.socket;
java.sql.Connection, Statement, ResultSet entre otros.
Estos recursos se suelen abrir en un bloque try
y cerrar en un finally.

La gestión automática de rcursos es
una forma especial del operador try en
donde se declaran uno o más recursos.
El alcance de estos recursos está limitado al bloque.
Cuando el bloque termina, sea de forma normal o
abrupta, todos los recursos declarados se cierran
automáticamente.

La principal ventaja es que se elimina la necesidad
del cierre manual, y los posibles errores que eso provoca.
Además, se "evita" la segunda excepción (la del close()),
dejando siempre la excepción del bloque que suele ser más interesante.

Un ejemplo de uso sería:
Como vemos, el bloque try() declara un recurso,
el luego es utilizado dentro del bloque. Al finalizar,
se cerrará automáticamente.
También es posible declarar más de un recurso:

try
(InputStream
in =
new FileInputStream(src);
OutputStream out =
new FileOutputStream(dest))
{

byte[] buf
= new byte[8192];
int n;
while ((n = in.read(buf)) >= 0)
out.write(buf, 0, n);
}

http://www.dosideas.com/noticias/jav...del-jdk-7.html
**********************************************************************************************************
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

duda jdk7 sql

Publicado por JavierM (94 intervenciones) el 02/10/2011 08:22:27
Hola
Claro que si , almenos si le preguntas a un administrador de base de datos cuantes sessiones hay inactivas que no se han cerrado, el te diria que al ser statement.close() automatico; seria perfecto ya que usualmente los programadores se olvidan o no se toman la molestia de cerrar estos statements.

Pero automatico? ,creo que deberia comportarse como la logica que usaron para mejorar el garbage.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar