JDBC 垃圾回收
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!
相关文章