05-OutOfMemoryError异常

2021-04-07  本文已影响0人  紫荆秋雪_文

实战目的

目的一、通过代码验证《Java虚拟机规范》中描述的各个运行时区域存储的内容

目的二、当发生异常时,可以根据异常的提示信息迅速得知是哪个区域的内存溢出,知道怎样的代码可能会导致这些区域内存溢出,以及出现这些异常胡该如何处理

一、Java堆溢出

package com.lkty.outofmemoryerror;

import java.util.ArrayList;
import java.util.List;

/**
 * Java 堆溢出
 */
public class OutOfMemoryErrorApplication {

    static class OOMObject {}

    public static void main(String[] args) {
        List<OOMObject> list = new ArrayList<OOMObject>();
        while (true) {
            list.add(new OOMObject());
        }
    }

}

java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid22141.hprof ...
Heap dump file created [27745239 bytes in 0.472 secs]

问题解决及定位

常规的处理方法是首先通过内存映像分析工具对Dump出来的堆转储快照进行分析

上一篇 下一篇

猜你喜欢

热点阅读