使用工具
IDEA
JDK8
一
创建一个java类:
public class HeapOOP {
static class OOMObject {
private String name = "abc";
}
public static void main(String[] args) {
List<OOMObject> list = new ArrayList<OOMObject>();
try {
while (true) {
list.add(new OOMObject());
}
} catch (OutOfMemoryError error) {
System.out.println("list的总大小为:"+list.size());
throw error;
}
}
}
然后修改IDEA的JVM启动参数:

接下来:

VM options参数值如下:
-verbose:gc
-Xms10M
-Xmx10M
-Xmn5M
-XX:+HeapDumpOnOutOfMemoryError
-XX:+PrintGCDetails
-XX:SurvivorRatio=8
参数说明一下:

本文介绍了如何使用Java VisualVM工具分析一个由于大量类实例导致的堆内存溢出异常。通过设置JVM参数生成dump文件,并利用VisualVM加载文件,查看导致异常的线程和类实例详情。
最低0.47元/天 解锁文章
1971

被折叠的 条评论
为什么被折叠?



