0
点赞
收藏
分享

微信扫一扫

【JVM】使用IDEA+JProfiler 定位OOM 代码

西特张 2022-02-16 阅读 56

JVM记录一次使用IDEA+JProfiler 来定位OOM 到代码解决方案

1.idea插件安装jprofiler

安装插件后重启idea

2.安装jprofiler Windows客户端

安装地址:

一路next这个是收费的 免费评估10天

3.idea客户端配合Jprofiler插件使用

先来一段导致OOM的代码

package com.company;

import java.util.ArrayList;

public class TestOOM {
    public static void main(String[] args) {
        ArrayList<Object> arrayList = new ArrayList<>();
        while (true) {
                arrayList.add(1);
                System.out.println(arrayList.size());
        }
    }
}

代码写好之后 点击启动
在这里插入图片描述
控制台报错OOM
在这里插入图片描述
打开我们的神器 jProfiler 客户端
选择这个新窗口,打开快照,找到对应的 java_pid10404.hprof 这个是堆栈快照
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
**定位到是第十行代码导致的OOM
在这里插入图片描述

回看代码发现确实是 add()方法导致的 定位到了具体的出错代码 over~**

举报

相关推荐

0 条评论