JDBC 关闭顺序问题

本文探讨了JDBC处理规范,根据JDBC 4.0 Specification,Connection.close()会自动关闭Statement,但不会关闭ResultSet,可能导致资源泄露。JDK1.4和1.5的规范也强调了这一点。为避免资源泄露,推荐显式关闭Connection、Statement和ResultSet,特别是在使用连接池时。
摘要由CSDN通过智能技术生成

(转)

主要问题

针对关闭connection是否会自动关闭Statement和ResultSet的问题,以及Statement和ResultSet所占用资源是否会自动释放问题,JDBC处理规范或JDK规范中做了如下描述: 

JDBC处理规范

JDBC. 3.0 Specification——13.1.3 Closing Statement Objects 

An applicationcalls the method Statement.close to indicate that it has finished processing astatement. All Statement objects will be closed when the connection thatcreated them is closed. However, it is good coding practice for applications toclose statements as soon as they have finished processing them. This allows anyexternal resources that the statement is using to be released immediately. 

Closing aStatement object will close and invalidate any instances of ResultSet producedby that Statement object. The resources held by the ResultSet object may not bereleased until garbage collection runs again, so it is a good practice toexplicitly close ResultSet objects when they are no longer needed. 

Th
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值