java一般出现的内存泄漏并不是传统意义上的内存泄漏,而是指占用内存越来越多,最终导致程序崩溃,一般是由于使用了容器导致的。
这种内存泄漏是一种通用的内存泄漏,不仅在java中出现,在其它语言中也同样出现,很难避免。
java虚拟器给我们做了很多内存方面的工作,避免了其它类型的内存泄漏,例如采用内存池,避免了小内存碎片的问题。
这里需要注意的是,如果我们用JNI调用了c++或c程序,由于虚拟器管不了那边的内存,所以很有可能也会导致内存泄漏。
java内存泄漏如何检测呢,你可以参考我的代码质量控制,上面讲了对付java内存泄漏的方法。