Java发生内存泄漏的情况

首先明确的事java也会出现内存泄漏的情况

有一下集中情况

1.静态集合类

在使用set、vector、hashmap等集合类的时候,当这些集合被定义成静态的时候,由于他们的生命周期跟应用程序一样长,这时候可能会发生内存泄漏。

2.集合里的对象属性值被改变

由于hashcode发生改变,所以不能从集合里删除,造成内存泄漏

3.监听器

释放对象的时候往往会忘记释放监听器,造成内存泄漏

4.各种连接

java中包括数据库连接、网络连接和io连接,如果没有显示调用close方法,是不会自动关闭的,这些连接就不会被gc回收而导致内存泄漏

5.单例模式

单例对象初始化后将在jvm的整个生命周期内存在,如果它持有一个外部对象的引用,那么这个外部对象就不能被回收,导致内存泄漏

原文地址:http://blog.csdn.net/wwd0501/article/details/50544222

猜你喜欢

转载自my.oschina.net/u/2402401/blog/1633206