我的程序中某处出现了内存泄漏,使用了一些工具,我认为这是我代码中的位置。那么,这个函数是否有问题以及如何调用存储过程?
CustomSQLConn
在创建时会被赋予该类。
private void flagDeleted(ABCDocument mydoc){
try {
ResultSet rs1 = null;
try{
CallableStatement cs1;
cs1 = CustomSQLConn.prepareCall("{ call flagFolderDeleted(?) }");
cs1.setInt(1, mydoc.getId());
cs1.execute();
}catch (Exception e){
System.out.println("Got an exception: " + e.getMessage());
e.printStackTrace();
}finally{
if(rs1 != null) rs1.close();
rs1 = null;
}
}catch (Exception e) {
System.out.println("Got an exception: " + e.getMessage());
e.printStackTrace();
}
} // END flagDeleted
这里也没有关闭连接,因为类将它用于其他进程。
答案 0 :(得分:5)
您正在关闭ResultSet
但未关闭CallableStatement
。