黑马程序员技术交流社区

标题: 内存泄漏 [打印本页]

作者: 李俊豪    时间: 2012-11-2 18:32
标题: 内存泄漏
本帖最后由 李俊豪 于 2012-11-3 22:41 编辑

java中会存在内存泄漏吗?
作者: 小灰灰    时间: 2012-11-2 18:35
会。java导致内存泄露的原因很明确:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这就是java中内存泄露的发生场景。
作者: pphdsny3    时间: 2012-11-2 23:57
举个例子:当一个对象被存储进HashSet集合中以后,就不能修改这个对象中的那些参与计算哈希值的字段了,否则,对象修改后的哈希值与最初存储进HashSet集合中时的哈希值就不同了,在这种情况下,即使在contains方法使用该对象的当前引用作为的参数去HashSet集合中检索对象,也将返回找不到对象的结果,这也会导致无法从HashSet集合中单独删除当前对象,造成内存泄露。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2