gsh6022
2020-07-30 19:11
采纳率: 100%
浏览 185
已采纳

JVM堆内存溢出问题,对于同一段代码只是打印了一下长度

求有智慧的大佬回答一下此问题
划重点,我问的是上面的代码为什么不OOM!!!

private static void testOldHeap2() {
        List<String> list = new ArrayList<String>();
        String s = "ssa";
        list.add(s);
        while(true){
            list.add(s);
            System.out.println(list.size());
        }

    }

此片段代码不会内存溢出,jdk版本1.8


private static void testOldHeap2() {
        List<String> list = new ArrayList<String>();
        String s = "ssa";
        list.add(s);
        while(true){
            System.out.println(list.size());
        }

    }

这段代码大概20s不到就会抛出内存溢出,很奇怪,我想不明白为什么
此为内存溢出截图

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

相关推荐 更多相似问题