当前位置: 技术问答>java相关
我时用jdbc打开数据库,使用后是否要显示的关闭数据库,还是等java的垃圾回收器来处理。
来源: 互联网 发布时间:2015-01-31
本文导语: | 其实可以这么说,除了内存之外的资源都必须由程序员亲自来控制,所以使用后关闭连接是必须的(当然如果做连接池就是另外一回事了,呵呵),另外,象file,socket等也都需要手动关闭 | ...
|
其实可以这么说,除了内存之外的资源都必须由程序员亲自来控制,所以使用后关闭连接是必须的(当然如果做连接池就是另外一回事了,呵呵),另外,象file,socket等也都需要手动关闭
|
是必须要删除的!!
以删除记录为例:
String sql = "delete from {tablename} where {}";
Connection con = null;
PreparedStatement stmt = null;
try {
con=getConnection();
stmt = con.prepareStatement(sql);
stmt.executeUpdate();
}
finally {
try {
if (stmt != null) {
stmt.close();
}
}catch (Exception e) {}
try {
if (con != null) {
con.close();
}
}catch (Exception e) {}
}
以删除记录为例:
String sql = "delete from {tablename} where {}";
Connection con = null;
PreparedStatement stmt = null;
try {
con=getConnection();
stmt = con.prepareStatement(sql);
stmt.executeUpdate();
}
finally {
try {
if (stmt != null) {
stmt.close();
}
}catch (Exception e) {}
try {
if (con != null) {
con.close();
}
}catch (Exception e) {}
}
|
必须要显示的关闭数据库
|
必须!
否则你根本不知道你是否连接数据库,每次都开一个新的连接,则加重系统负担!
否则你根本不知道你是否连接数据库,每次都开一个新的连接,则加重系统负担!
|
必须要关闭数据库
你根本不知道垃圾回收器什么时候回收,
你根本不知道垃圾回收器什么时候回收,
|
根据Sun的Blueprint,数据库资源需要及时的回收,因此不仅是数据库,连接,就连ResultSet都需要。