OOM:OutOfMemory,当JVM中内存不够并且垃圾回收的速度跟不上内存的分配速度,就会发生OOM的现象。
为了演示出OOM现象,我们先构建一段代码如下所示:
public class HeapOom {
public static void main(String[] args){
// 定义一个35M的数组
String[] strArr = new String[35*1000*1000];
}
}
然后在IDEA开发工具中,设置堆空间的初始值大小和最大值大小为30MB:
-Xms30m:堆空间的初始值
-Xmx30m:堆空间的最大值
运行上述代码,可以看到控制台中抛出一个“内存溢出”错误:
遇到上述这种情况时,一般我们可以上述VM options的后面追加