A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 于世德 中级黑马   /  2013-7-31 13:00  /  996 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java中有垃圾回收机制,还会出现内存泄漏吗?

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 神马都是浮云

查看全部评分

2 个回复

倒序浏览
必须会啊,垃圾回收只能回收无引用指向的内存而已啊,物理资源,还有一些流没手动关闭他是回收不了的啊亲.~~
回复 使用道具 举报
会出现内存泄漏的!
垃圾回收机制只能回收没有引用的对象,也就是说只能回收没有“指针”的对象,对于非引用类对象,垃圾回收机制就不能起作用。
内存泄漏原因,大概有下面几个方面:
(1)Java的某个对象被一个生命周期很长的类不当持有,这个是Java内存泄漏最主要的原因,对象在某个Task中没有主动清除,其宿主在工作时会不断增加该对象的引用数,也就会吃掉更多的内存,从而导致内存泄漏;
(2)在Runtime Exception的时候,没有用finally{}来释放某些资源;
(3)变量范围的扩大,比如说一个方法的局部变量被定义成类的变量,这样导致变量的生命期变长,有可能导致泄漏(这个和第一点还是有点像的)。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马