美文网首页
JVM笔记-实现一个自己的OOM

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

作者: 西西弗斯今天不推石头 | 来源:发表于2019-07-11 15:22 被阅读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)

相关文章

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

    代码如下: 执行后

  • JVM OOM异常会导致JVM退出吗?

    参考文章:JVM OOM异常会导致JVM退出吗? 结论是:OOM是针对线程的,哪个线程OOM了,JVM是释放掉该线...

  • 2. Interview-JVM&GC

    JVM知识图谱 1 怎么解决OOM?/ 怎么排查OOM?/ JVM调优 参考:https://blog.csdn....

  • 学习方向

    多线程,并发,锁机制,集合内部实现及原理,OOM,CPU性能分析,JVM调优,内存模型,类加载,spring,事务...

  • 强软弱虚引用如何理解

    强引用:我们平时最常使用的基本对象引用,JVM不会回收强引用类型对象,即使内存不足导致OOM也不会回收。 实现一个...

  • 如何快速感知到jvm oom了?

    线上有些应用会不定期的oom,当出现jvm oom, 应用有可能挂掉,也可能不会挂掉,主要看 jvm中是否还有非守...

  • OOM到底是如何产生的呢?

    一、什么是OOM OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,当JVM因为没有足够的...

  • Java虚拟机OOM

    内存溢出异常 OOM 我们知道: JVM的内存模型 对象的创建和布局 开始面对最终Boss: OOM 我们的目标:...

  • JVM系列(4) JVM常见问题

    1. OOM常见原因 2.JVM优雅退出 2.1 jvm关闭的几种情况 2.2 一些概念及JVM钩子 2.3 如何...

  • jvm参数

    常用的JVM参数 跟踪JAVA虚拟机的垃圾回收 GC日志:jvm垃圾回收,记录jvm的运行状态,oom内存溢出的报...

网友评论

      本文标题:JVM笔记-实现一个自己的OOM

      本文链接:https://www.haomeiwen.com/subject/ptrdkctx.html