内存泄漏的八种情况

1.静态集合类

静态的集合因为静态的对象的生命周期和JVM是一样的,所以会导致内存泄漏

2.单例模式

单例的实例对象肯定是静态的,所有如果单例的实例对象持有外部对象的引用,也会导致内存泄漏

3.内部类持有外部类

4.各种连接,比如数据库连接,网络连接,IO连接等等。

5.变量不合理的作用域

6.不要去改变hashset这种集合中的对象的hash值


7.缓存泄漏

当你把数据存放在hashmap这种内存结构中,很容易出现内存泄漏

如果你使用WeakHashMap,那么除了WeakHashMap没有别的引用指向对象的时候,对象会被回收掉。


8.监听器和回调


你可能感兴趣的:(内存泄漏的八种情况)