登录
转载

IDEA实现OutOfMemoryError堆溢出和StackOverflowError栈溢出

发布于 2021-03-22 阅读 877
  • 后端
  • Java
转载

1.OutOfMemoryError 堆溢出

  • 生成一个可运行的类,将IDEA的运行类选择为此类
  • 点击编辑结构… 按钮,在虚拟机选项中添加JVM参数,中间空格分隔(这里只用得到-Xmx)。 在这里插入图片描述
  • -Xmx30m
    
    
    参数名参数含义
    -Xmsjvm启动时分配的内存
    -Xmxjvm运行过程中分配的最大内存
    -Xss为JVM启动的每个线程分配的内存大小

    在这里插入图片描述

  • 生成超过大小的数组
  • List<Object> argList = new ArrayList<>();
    for(int i = 0; i < 30; i++){
        System.out.println(i);
        //1024*1024的byte数组的大小为1M
        //如果要生成10M大小的对象,就将byte数组的大小设置为 10 * 1024 * 1024
        byte[] bytes = new byte[1024 * 1024 * 1];
        argList.add(bytes);
    }
    
    

    此时,控制台就会出现outOfMemoryError错误 在这里插入图片描述

    2.StackOverflowError 栈溢出

    public static void main(String[] args){
        eat();
    }
    
    private static void eat(){
        eat();
    }
    
    

    评论区

    励志做一条安静的咸鱼,从此走上人生巅峰。

    0

    0

    0

    举报