java - JDBC 关闭资源

标签 java jdbc connection resultset

我不确定是在每次查询后还是在我的所有查询完成后(即同时关闭连接)关闭语句和结果集?

如果我错了请纠正我,但我很确定两者都有效?

但是,如果我在每次查询后不关闭语句然后执行大量查询,数据库最终会崩溃吗?

另一方面,为每个查询继续关闭和创建语句是否效率低下且浪费时间?

在问这个问题之前,我已经阅读了很多关于这个问题的资料,但我仍然不确定。任何帮助表示赞赏,

树。

最佳答案

来自 http://www.precisejava.com/javaperf/j2ee/JDBC.htm#JDBC118 :

Close ResultSet when finished

Close ResultSet object as soon as you finish working with ResultSet object even though Statement object closes the ResultSet object implicitly when it closes, closing ResultSet explicitly gives chance to garbage collector to recollect memory as early as possible because ResultSet object may occupy lot of memory depending on query.

简而言之,您不必显式关闭ResultSet 对象,但最好这样做以便尽早释放内存。未能关闭您的 ResultSet 对象只会导致它占用的内存(可能很小,也可能很大,具体取决于结果集的大小)被占用,直到相应的 Statement 对象已关闭。

关于java - JDBC 关闭资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7341173/

相关文章:

java - Spring-Boot 多个数据库目标依赖项

java - Mysql 连接器在 com.mysql.jdbc.util.ReadAheadInputStream.fill() 中花费了 50% 的时间

xml - R readHTMLTable 无法加载外部实体

php - 在 PHP 中通过 SSL 连接到 AWS mysql?

java - 我如何在 JAVA 中将 *.raw 文件转换为 *.bmp?

java - 在 netscape.javascript.JSObject 中找不到 getWindow(Applet)

java - 在另一个包的接口(interface)文件中使用类

mysql - Tibco Jaspersoft 查询错误

database - 关于数据库通信安全

java - Itext5 程序在 Windows 上执行时遇到字符集问题?