考慮下面的代碼片斷:即使超出範圍,我是否應始終關閉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
對象的方法中局部使用。我需要在這裏手動關閉它,否則當方法結束時它會保存的內容會被自動收集。
如果絕對沒有其他引用,它將在下次執行垃圾回收時成爲垃圾回收的候選者;但是當方法結束時不一定會發生這種情況。它會花費你什麼來關閉它嗎? –