内存泄露和内存溢出这两个概念经常会被很多人搞混,到底这两个的区别是什么呢。
内存溢出是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory。
内存泄漏是指分配出去的内存不再使用,但是无法回收。下面就是例子:
List list=new ArrayList();
for(int i=1;i<100;i++){
Object ob=new Object();
list.add(ob);
ob=null;
}
虽然ob虽然被置成了null但是,其实也还有其他引用(指针)指向Object对象,所以GC是不会垃圾回收它的。
参考文献:
1.http://www.cnblogs.com/qq78292959/archive/2011/07/25/2116123.html