JVM堆溢出实践

本次在eclipse中实践本异常:

通过无终止的在队中创建对象,以制造堆溢出的情况。

虚拟机参数设置:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError

将最大内存和最小内存设为相等是为了避免虚拟机自动扩展对内存大小!

参数解释:

-Xms20m:虚拟机堆的最小内存

-Xmx20m:虚拟机堆的最大内存

-XX:+HeapDumpOnOutOfMemoryError:生成堆转储快照以便后期内存溢出异常分析

测试类:

package oom;

import java.util.ArrayList;
/**
 * HeapOOM.java
 * @author anyunpei
 *2019年1月16日下午7:58:42
 *-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
 */
public class HeapOOM {
	static class OOMProject{
		
	}
	public static void main(String[] args) {
		ArrayList arrayList = new ArrayList();
		while (true) {
			arrayList.add(new OOMProject());
		}
	}
}

需要调整虚拟机参数:右击测试类

JVM堆溢出实践_第1张图片

 JVM堆溢出实践_第2张图片

结果:

JVM堆溢出实践_第3张图片

你可能感兴趣的:(JVM,Java)