您的代码不会引发任何异常。甚至OutOfMemoryError
因为这段代码:
for(;;){
v = new Vector<String>();
v = null;
}
创建的对象v = new Vector<String>();
可以在行后由垃圾收集器回收v = null;
所以你的代码将继续......永远!
如果您需要 StackOverflowError,请进行递归调用而不返回某个时间点。像这样的东西:
public class Test {
public static void main(String args[]){
Test.main(args);
}
}
要抛出一个OutOfMemoryError
只是这样做:
public class Test {
public static void main(String args[]) {
Vector<Integer> v = new Vector<Integer>();
for(;;)
v.add(new Integer(10));
}
}
该代码将无限添加一个整数到向量,为这样的整数和向量内的条目分配空间。内存很快就会被耗尽。
您甚至可以更改v.add(new Integer(10));
for,v.add(10);
因为向向量添加条目也会消耗内存。