首先明确的事java也会出现内存泄漏的情况
有一下集中情况
1.静态集合类
在使用set、vector、hashmap等集合类的时候,当这些集合被定义成静态的时候,由于他们的生命周期跟应用程序一样长,这时候可能会发生内存泄漏。
2.集合里的对象属性值被改变
由于hashcode发生改变,所以不能从集合里删除,造成内存泄漏
3.监听器
释放对象的时候往往会忘记释放监听器,造成内存泄漏
4.各种连接
java中包括数据库连接、网络连接和io连接,如果没有显示调用close方法,是不会自动关闭的,这些连接就不会被gc回收而导致内存泄漏
5.单例模式
单例对象初始化后将在jvm的整个生命周期内存在,如果它持有一个外部对象的引用,那么这个外部对象就不能被回收,导致内存泄漏
原文地址:http://blog.csdn.net/wwd0501/article/details/50544222