考虑下面的代码片断:即使超出范围,我是否应始终关闭CachedRowSet?
public void getUsers() {
CachedRowSet rowSet = new CachedRowSetImpl();
......... /* Initialize the rowset */
String query = "SELECT user_id FROM users";
rowSet.setCommand(query);
rowSet.execute();
......... /* Do some job */
}
这里CachedRowSet
对象的方法中局部使用。我需要在这里手动关闭它,否则当方法结束时它会保存的内容会被自动收集。
如果绝对没有其他引用,它将在下次执行垃圾回收时成为垃圾回收的候选者;但是当方法结束时不一定会发生这种情况。它会花费你什么来关闭它吗? –