如果语句/结果集未关闭会发生什么?

时间:2014-08-11 07:52:53

标签: java jdbc

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

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

1 个答案:

答案 0 :(得分:1)

如果不关闭连接,您可能会遇到后果。您可能会遇到maximum open cursors exceeded例外情况。

来自Java doc

  

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

因此,您需要显式关闭所有JDBC资源。