JDBC垃圾收集 [英] JDBC garbage collection
问题描述
如果我不关闭结果集或准备状态,会发生什么。
它们是否会被垃圾回收器关闭并释放。
我问这个函数中的局部变量。
你知道关于这个的任何文档吗?
<如果你的代码不关闭
ResultSet
s或 PreparedStatement $ c $当完成使用后,你的应用程序会在数据库中占用稀有资源,如游标。例如,请参阅:
垃圾回收器不知道关闭 ResultSet
s或 PreparedStatement
s,所以GC不会自动为您处理。会怎样? Java 7的 try
with-resources statement !
What happens if i don't close resultset or preparedstatements.
Will they be closed and released by the garbage collector.
I'm asking this for local variables inside a function.
Do you know any documentation about this ?
解决方案 If your code does not close ResultSet
s or PreparedStatement
s when done using then, your application will hog scarce resources — like cursors — in the database. See, for example:
- ResultSet not closed when connection closed?
- What happens to the original resultSet when it is returned from a method into a new object?
The garbage collector does not know anything about closing ResultSet
s or PreparedStatement
s, so GC won't automagically take care of that for you. What will? Java 7's try
-with-resources statement!
这篇关于JDBC垃圾收集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!