黑马程序员技术交流社区
标题:
Java内存泄漏
[打印本页]
作者:
于世德
时间:
2013-7-31 13:00
标题:
Java内存泄漏
Java中有垃圾回收机制,还会出现内存泄漏吗?
作者:
肥猫
时间:
2013-7-31 21:29
必须会啊,垃圾回收只能回收无引用指向的内存而已啊,物理资源,还有一些流没手动关闭他是回收不了的啊亲.~~
作者:
jttsai
时间:
2013-8-1 11:04
会出现内存泄漏的!
垃圾回收机制只能回收没有引用的对象,也就是说只能回收没有“指针”的对象,对于非引用类对象,垃圾回收机制就不能起作用。
内存泄漏原因,大概有下面几个方面:
(1)Java的某个对象被一个生命周期很长的类不当持有,这个是Java内存泄漏最主要的原因,对象在某个Task中没有主动清除,其宿主在工作时会不断增加该对象的引用数,也就会吃掉更多的内存,从而导致内存泄漏;
(2)在Runtime Exception的时候,没有用finally{}来释放某些资源;
(3)变量范围的扩大,比如说一个方法的局部变量被定义成类的变量,这样导致变量的生命期变长,有可能导致泄漏(这个和第一点还是有点像的)。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2