java内存泄露问题
看到很多资料讲到java内存泄露经常举到的例子:
Vector v=new Vector(10);
for (int I=1;I<100; I++)
{
Object o=new Object();
v.add(o);
o=null;
}
在这个例子中,我们循环申请Object对象,并将所申请的对象放入一个Vector中,如果我们仅仅释放引用本身,那么Vector仍然引用该对象,所以这个对象对GC来说是不可回收的。(问题一:这个例子只说明了问题 没有说明解决方法)
假如我的类如下:
public class Test {
public Vector getVector(){
Vector v=new Vector(10);
for (int I=1;I<100; I++)
{
Object o=new Object();
v.add(o);
o=null;
}
return v;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Vector v=new Test().getVector();
}
}
问题二:问下大家存不存在内存泄漏,为什么?