【java虚拟机】堆内存溢出分析
一、模拟堆内存溢出代码
public class ConstantTest { public static void main(String[] args) { List<Good> goodList=new ArrayList<>(); while (true){ Good good=new Good(); good.setAge(12); good.setName("sxf"); goodList.add(good); } } } class Good{ private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
二、jvm运行配置
-Xms1M -Xmx1M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/shangxiaofei/
三、通过jvisualvm进行分析堆快照文件
1、打开jvisualvm软件
2、导入内存溢出产生的快照文件java_pid5216.hprof
3、查看结果


浙公网安备 33010602011771号