我不确定是否Statement和ResultSet应该每次查询后关闭或已作出后,我所有的问题(即在同一时间,我关闭连接)?JDBC闭幕资源
纠正我,如果我错了,但我敢肯定,这两个工作?
然而,将数据库最终崩溃,如果我没有每次查询后关闭语句,然后进行大量的查询?
在另一方面,那会是低效和浪费时间的,以保持关闭&创建报表,每次查询?
我已经阅读了关于这个问题有很多问这个问题之前,但我仍不明朗。任何帮助表示赞赏,
tre。
我不确定是否Statement和ResultSet应该每次查询后关闭或已作出后,我所有的问题(即在同一时间,我关闭连接)?JDBC闭幕资源
纠正我,如果我错了,但我敢肯定,这两个工作?
然而,将数据库最终崩溃,如果我没有每次查询后关闭语句,然后进行大量的查询?
在另一方面,那会是低效和浪费时间的,以保持关闭&创建报表,每次查询?
我已经阅读了关于这个问题有很多问这个问题之前,但我仍不明朗。任何帮助表示赞赏,
tre。
从http://www.precisejava.com/javaperf/j2ee/JDBC.htm#JDBC118:
尽快使用完的ResultSet 对象的工作,即使Statement对象关闭ResultSet对象 它关闭隐时完成
关闭ResultSet对象时关闭的ResultSet,关闭ResultSet明确地给予机会 垃圾收集器尽可能早地回忆内存,因为 ResultSet对象可能会占用大量内存,具体取决于que RY。
概括地说,你不有明确地关闭ResultSet
对象,但最好这样做早些时候释放内存。未能关闭对象只会导致其占用的内存(可能较小或较大,取决于结果集的大小)被占用,直到相应的对象关闭。
嗨,非常感谢您的回答。我以前读过这个,但对此不确定 - 这是否意味着我应该在每次查询后关闭ResultSet,但只能在执行所有查询后关闭语句?谢谢。 – tre
@tre我详细阐述了我的答案。让我知道你是否需要更多的澄清。 –
它做到了,并且对于要求进一步澄清感到抱歉,但它确实有帮助 - 这是否意味着单个声明的每个结果集都会保留到声明结束?非常感谢,竖起大拇指。编辑:我必须等待一分钟,说这是正确的答案:) – tre