美文网首页
堆 异常

堆 异常

作者: 程序男保姆 | 来源:发表于2020-05-23 18:34 被阅读0次

OutOfMemoryError

  堆内存不够时抛出OutOfMemoryError异常
  • 测试代码

public class JavaVMHeapOOM {

    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();

        try {
            while (true){
                list.add(1);
            }
        }catch (Throwable throwable){
            System.out.println(list.size());
            System.out.println(throwable);
        }
    }

}

  • 结果

设置不同的jvm参数,得到不同的结果
-Xms   -X memory size 设置堆内存大小
-Xmx   -X memory max 设置堆最大内存大小

-Dfile.encoding=UTF-8 -Xms5M -Xmx5M
360145
java.lang.OutOfMemoryError: Java heap space

-Dfile.encoding=UTF-8 -Xms10M -Xmx10M
810325
java.lang.OutOfMemoryError: Java heap space

-Dfile.encoding=UTF-8 -Xms20M -Xmx20M
1823230
java.lang.OutOfMemoryError: Java heap space

由此可见设置堆内存依次增大,list容量也依次增大
  • 解决方法

内存大小: 增加堆内存大小

相关文章

网友评论

      本文标题:堆 异常

      本文链接:https://www.haomeiwen.com/subject/iqulahtx.html