【问题标题】:What happens if the statements / result sets are not closed?如果语句/结果集没有关闭会发生什么?
【发布时间】:2014-08-11 07:52:52
【问题描述】:

如果在每次查询之前创建语句,左开结果集/语句消耗的资源是多少?

在这种情况下,垃圾回收是否关闭了结果集/语句?

【问题讨论】:

标签: java jdbc


【解决方案1】:

如果不关闭连接,您可能会承担后果。 maximum open cursors exceeded 您可能会遇到异常。

来自Java doc

默认情况下,每个 Statement 对象只能打开一个 ResultSet 对象 同时。因此,如果读取一个 ResultSet 对象是 与另一个阅读交错,每个必须已经生成 通过不同的 Statement 对象。 Statement中的所有执行方法 接口隐式关闭语句的当前 ResultSet 对象,如果 打开一个存在。

所以你需要显式关闭所有 JDBC 资源。

【讨论】:

    猜你喜欢
    • 2016-04-06
    • 2012-09-28
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    相关资源
    最近更新 更多