如果没有关闭java应用程序的结果集,有什么意义呢?

时间:2013-10-08 07:51:34

标签: java jdbc resultset

我有一个旧的Java应用程序(我不是开发人员),该应用程序的结果集未被关闭。我不时会从应用程序中获得错误(超出最大java堆空间等)并导致停机。

有时错误是(连接已关闭)我知道这是因为连接游标已经满了。连接也没有被关闭(我正在研究它)

我的问题是:结果集问题是否可能导致堆空间错误?

先谢谢你们!!

2 个答案:

答案 0 :(得分:3)

这里的主要问题是连接未被关闭。当关闭返回它们的Statement时关闭ResultSet,并在关闭创建它们的连接时关闭语句,但除非关闭连接,否则一切都将泄漏。这包括数据库中的内存和锁,以及应用于打开的Statement或ResultSet的任何其他数据库资源。

答案 1 :(得分:0)

每个对象在使用结束后都应该关闭。 在finally块之后使用catch阻止关闭已打开的连接。即使有异常,JVM也会执行finally阻止。