除了PC(程序计数器)Java虚拟机的其他几个运行时区域均可能出现 OOM异常。

Java堆溢出:

package day0413;
import java.util.ArrayList;
import java.util.List;
/**
* VM Args: -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
* @author 多多
*
*/
public class HeapOOM {
static class OOMObject{
}
public static void main(String [] args) {
List<OOMObject> list=new ArrayList<OOMObject>();
while(true) {
list.add(new OOMObject());
}
}
}


本文详细探讨了Java虚拟机的四个主要运行时区域:Java堆、虚拟机栈和本地方法栈、方法区和运行时常量池、以及本地直接内存,如何引发OOM异常。通过实例分析,揭示了各种内存区域溢出的情况及其影响。
最低0.47元/天 解锁文章
848

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



