美文网首页
05-OutOfMemoryError异常

05-OutOfMemoryError异常

作者: 紫荆秋雪_文 | 来源:发表于2021-04-07 17:16 被阅读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出来的堆转储快照进行分析

  • 第一步
    • 首先应确认内存中导致OOM的对象是否是必要的,也就是要先分清楚到底是出现了内存泄露(Memory Leak)还是内存溢出(Memory Overflow)

相关文章

  • 05-OutOfMemoryError异常

    实战目的 目的一、通过代码验证《Java虚拟机规范》中描述的各个运行时区域存储的内容 目的二、当发生异常时,可以根...

  • 异常和模块

    异常 目标 了解异常 捕获异常 异常的else 异常finally 异常的传递 自定义异常 一. 了解异常 当检测...

  • python多线程

    异常基础知识 -异常简介: 运行时错误 -异常类: 异常数据 异常名称,异常数据,异常类型 -自定义异常 clas...

  • dart 异常

    dart中的异常 异常处理 抛出异常 异常捕获

  • Java基础之异常

    Java基础之异常 目录 异常简单介绍 ThrowableErrorException 异常分类 如何处理异常异常...

  • python核心编程-错误与异常

    本章主题:什么是异常Python中的异常探测和处理异常上下文管理引发异常断言标准异常创建异常相关模块 什么是异常 ...

  • motan(RPC)系统梳理知识点

    异常分类: 业务异常(bizException) 服务异常(serviceException) 框架异常(fram...

  • 异常

    Java异常体系 异常的分类 Java的异常分为两大类:Checked异常和Runtime异常(运行时异常)。所有...

  • 从零构架个人博客网站(二)-全局异常处理

    中间件的异常 全局异常中间件全局异常监听定义异常的返回结果定义常见的异常状态开发环境 异常查看 对于异常,我们可以...

  • Node.js异常处理

    Node.js异常分类: 变量异常 函数异常 调用异常 变量异常 未定义变量 未包含对象 变量类型错误 函数异常 ...

网友评论

      本文标题:05-OutOfMemoryError异常

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