¿Es necesario cerrar la conexión y la declaración cuando el método termina?

No, no estarían cerrados.

Si getConnection()crea una nueva conexión, lo único que sucederá al final del método es que la conexión podría ser recogida de basura. Pero el GC no llamará al método close () por usted. Y, de todos modos, desea cerrar lo antes posible.

La mayoría de las veces, getConnection()simplemente obtendrá una conexión de un grupo de conexiones, que permanecen abiertas durante mucho tiempo. Si no realiza close()la conexión, no se volverá a poner en el conjunto de conexiones disponibles, y después de unos segundos o minutos, ya no tendrá ninguna conexión disponible.

El título pregunta sobre System.exit(), pero el cuerpo de la pregunta no. Si llama System.exit(), la conexión terminará cerrándose porque la base de datos notará que la comunicación está interrumpida. Pero es extremadamente raro que un programa se inicie, ejecute una consulta y salga. La mayoría de las aplicaciones comienzan y permanecen en funcionamiento durante días o incluso meses. Entonces, realmente desea liberar la conexión una vez que haya terminado de usarla.

Respuesta 1

Sabemos que el conjunto de cadenas de pasantes de Java se basa en el patrón de diseño Flyweight. También el objeto String es inmutable. ¿Es obligatorio que todos los objetos que usan el patrón Flyweight sean inmutables? . ...

Tengo una lista de cadenas que quiero mostrar en una tabla HTML distribuida de la manera más uniforme posible en un número específico de columnas. public String toHtmlTable (Colección <String> valores, int ...

Estoy a punto de comenzar a aprender a codificar la GUI. Ahora sé que es mejor si lo codifica a mano por primera vez para comprender los conceptos. Mi pregunta es la siguiente: ¿Necesito deshabilitar el generador de GUI ...

Estoy escribiendo una aplicación Java donde, cuando los datos cambian, una imagen debe cambiar, mis colegas me piden que haga un programador en el que debe llamar a get api cada 1 segundo. Mi sugerencia es ...