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

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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、最近在重读当年刚开始学习多线程时的笔记,发觉其中有一些地方还是比较容易模糊,于是整理这篇笔记记录一下。 执行方...
    杨淳引阅读 337评论 0 0
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,941评论 0 27
  • 这篇文章是我之前翻阅了不少的书籍以及从网络上收集的一些资料的整理,因此不免有一些不准确的地方,同时不同JDK版本的...
    高广超阅读 15,818评论 3 83
  • 距离2017年高考,已经,一年不满2天。 这几天朋友圈里突然兴起了一阵“如果高考可以重来”的分享热,微博也刷出好多...
    Onlookerr阅读 717评论 6 5
  • 清澈的眼中 混浊的世界 放纵的过往 寻找着救赎 带上大圣的面具 挥起手中的棍棒 问九霄因果轮回 苍天应立地成佛 从...
    卷尘_阅读 668评论 0 12