关于java8字符串的问题,为什么字符串会有这种结果

请问这在java8中怎么回事?为什么会得到如此的结果?难道我+号拼接出来的字符串和new出来的不在堆上?

        String s3=new String("11");
        s3.intern();
        String s4="11";
        System.out.println(s3==s4);//结果为false

        String s3=new String("1")+new String("1");
        s3.intern();
        String s4="11";
        System.out.println(s3==s4);//结果为true

不在堆上 。https://www.cnblogs.com/xiaonantianmen/p/9119698.html