java中如果先关闭Connection,那么PreparedStatement和ResultSet是不是会自动关闭?

RT... RT 展开
 我来答
battle3000
推荐于2016-04-27 · TA获得超过321个赞
知道小有建树答主
回答量:247
采纳率:0%
帮助的人:204万
展开全部
如果没有使用数据库连接池,而是每次创建物理连接,然后释放的话,没有什么问题。close Connection的时候已经把数据库资源完全释放掉了,PreparedStatement占用的数据库游标也会随即释放。

但是大部分情况读写数据库都会采用数据库连接池来提高连接效率,在这种情况下有潜在的隐患。

因为数据库连接池中拿到一个Connection,close的时候不是真正关闭连接,释放数据库资源,而是把连接归还给连接池。因此在这种情况下,close了Connection,但是PreparedStatement并没有被释放掉,占用的数据库游标仍然处于打开状态。因此在大数据访问量的情况下很容易出现数据库游标使用到最大,无法分配游标错误。
百度网友68ebec1
2009-02-11 · TA获得超过757个赞
知道小有建树答主
回答量:832
采纳率:0%
帮助的人:545万
展开全部
应该会自动关闭.你可以作个测试,关了连接后再去取东西看能否成功.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
RooocKing
2009-02-11 · TA获得超过609个赞
知道小有建树答主
回答量:496
采纳率:100%
帮助的人:179万
展开全部
。。在某个时刻被JVM清理~
这样会占用不必要的资源。很不好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aaronswon
2009-02-11 · TA获得超过3481个赞
知道大有可为答主
回答量:1863
采纳率:0%
帮助的人:1606万
展开全部
在某个时候会被jdk 清理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式