Java中数据库连接池是如何做到,将Connection作为对象放入内存中不被回收机回收? 20

连接池创造完Connection后放入内存,一切完成,程序也就结束了,相应的对象引用都被回收机回收了啦?连接池所有的操作应该都会清除,为何还会有对象存于内存中?难道是Co... 连接池创造完Connection后放入内存,一切完成,程序也就结束了,相应的对象引用都被回收机回收了啦?连接池所有的操作应该都会清除,为何还会有对象存于内存中?难道是Connection被序列化了嘛?可是,我用过序列化,connection并不能被序列化。 展开
 我来答
匿名用户
2016-06-21
展开全部
纠正下你的说法.一个类是不会无缘无故运行的,所以谈不上占用内存,更没有回收.你问的应该是使用一个类创建了一个对象,如何回收该对象所占的内存空间?
例如有一个Person类,我们创建他的一个对象,一般是如下:
Person mPerson = new Person();
这个时候情况是,在栈内存中标记了一个名字叫mPerson的空间,它存储了一个关于某块内存区域位置的信息,说白了,就是你使用new Person();创建出来的对象的位置,我们称mPerson为Person对象的一个引用。这个对象位于堆内存,它是有默认值的,必须占内存一部分空间,想使用的时候,可以通过mPerson找到它。当你把mPerson赋值为null后,你那个对象就没有引用了,这个时候,你的JVM会在适当的时候自动去回收掉Person的对象。
追问
我懂你说的意思,但是我所说的重点并非是回收机制,而是关于数据库连接池原理中存放链接Connection对象,该对象是如何存活的,当需要链接时,会从连接池中取Connection对象,完全两个不同线程如何做到对同一个连接池实例的操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式