0

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

有时错误是(连接已关闭)我知道这是因为连接光标已经满了。连接也没有关闭(我现在正在处理它)

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

提前谢谢各位!!

4

2 回答 2

3

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

于 2013-10-08T07:58:35.477 回答
0

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

于 2013-10-08T07:54:31.473 回答