《深入理解java虚拟机》一书中介绍到jvm的内存溢出情况,对理解jvm的自动内存管理机制有一定帮助,下面通过几个实例来进行说明。

     java虚拟机的规范描述中,除了程序计数器外,java堆,虚拟机栈,本地方法区等运行时区都会发生outOfMemoryError的可能。

    《1》java堆溢出

      //eclipse-run configurations-VM arguments-Xms20M -Xmx20M -Xmn10M -XX:+HeapDumpOnOutOfMemoryError

public class HeapOOM
{
    static class OOMObject
    {
        
    }
    public static void main(String[] args)
    {
        List<OOMObject> list=new ArrayList<OOMObject>();
        while(true)
        {
            list.add(new OOMObject());
        }
    }

}
View Code

相关文章: