配置参数
//路径填写一个系统中存在的路径
-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=H:\soft
代码
package OutOfMemoryError;
import java.util.ArrayList;
import java.util.List;
public class Memory {
public static void main(String[] args) {
List<Object> list = new ArrayList<>();
// 创建n个1M大小的数组,耗尽内存
for (int i = 0; i < 10000; i++) {
list.add(new byte[1024 * 1024]);
}
}
}
运行

打开工具

导入文件

类 根据大小排序

点击进入实例数,点击显示最近的垃圾回收根节点


本文通过一个具体的Java代码示例,演示了如何配置虚拟机参数以触发内存溢出错误,并详细解释了代码中如何创建大量对象导致内存耗尽的过程。此外,还介绍了如何使用工具进行内存分析,包括导入文件、类按大小排序以及查看垃圾回收根节点的方法。
2145

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



