public static void main(String[] args){
List list = new ArrayList();
try{
while(true){
list.add(new OutOfMemory("try"));
}
}catch(Exception e){
System.out.println(e);
}finally {
System.out.println("finally");
OutOfMemory o = new OutOfMemory("finally o");
System.out.println(o.test);
System.out.println(list.size());
System.out.println(o.test);
}
}
执行结果:
finally
finally o
106710
finally o
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3210)
at java.util.Arrays.copyOf(Arrays.java:3181)
at java.util.ArrayList.grow(ArrayList.java:265)
at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:239)
at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:231)
at java.util.ArrayList.add(ArrayList.java:462)
at main.java.com.liqiangx.memory.OutOfMemory.main(OutOfMemory.java:18)