あなたのコードは例外をスローしません。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);