一、为什么会产生内存泄漏?
当一个对象已经不需要再使用本该被回收时,另外一个正在使用的对象持有它的引用从而导致它不能被回收,这导致本该被回收的对象不能被回收而停留在堆内存中,这就产生了内存泄漏。
二、如何避免泄露
1.好的编程习惯
2.监测工具:Optimizeit Profiler、JProbe Profiler、JinSight、Rational 公司的 Purify
3.特别注意:HashMap 、ArrayList 的集合对象,当它们被声明为 static 时,它们的生命周期就会和应用程序一样长。