如何打开hprof文件

一、前言

最近学习深入java虚拟机的书,照着里面的例子跑了下。

下面是demo:

/**
 * VM Args:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
 * @author zzm
 */
public class HeapOOM {

    static class OOMObject {
    }

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

        while (true) {
            list.add(new OOMObject());
        }
    }
}

程序执行效果:

我这边产生的hprof文件路径:

E:IdeaProjectsjava-virtualjava_pid2432.hprof

打开这种文件的话,可以使用如下的软件:

Memory Analyzer

官网:http://www.eclipse.org/mat/downloads.php

双击打开,装载对应的 hprof 即可。

二、使用案例

实战分析Tomcat的类加载器结构(使用Eclipse MAT验证)

了不得,我可能发现了Jar 包冲突的秘密

原文地址:https://www.cnblogs.com/grey-wolf/p/7440545.html