JVM笔记-实现一个自己的OOM

2019-07-11  本文已影响0人  西西弗斯今天不推石头
image

代码如下:

public class HeapOOM {

    /**
     * VM Args: -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
     */
    public static void main(String[] args) {
        List<Object> list = new ArrayList<>();

        while (true) {
            list.add(new Object());
        }

    }

}

执行后

java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid12224.hprof ...
Heap dump file created [28186187 bytes in 0.087 secs]
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 com.guihuo.core.jvm.oom.HeapOOM.main(HeapOOM.java:24)
上一篇 下一篇

猜你喜欢

热点阅读