文章出处:(北大计算机硕士写的)
http://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/
总结:
1、JVM使用有向图来监控内存
2、java中有向图中不可达的内存是不存在泄露问题的
3、java中有向图可达的内存,但是长期不用,会造成内存泄露,
主要例子:
1)非常大的集合如list,list里对象o赋值为null了,但是list仍然指向o,所以无法释放,可将v赋值为null
2)单例模式,单例模式new出来的对象往往占用很大的内存,但是长期不使用,不使用应该显示地赋值为null