public class RuntimeConstantPoolOOM{ public static void main(String[]args){ public static void main(String[]args){ String str1=new StringBuilder("计算机").append("软件").toString(); System.out.println(str1.intern()==str1); String str2=new StringBuilder("ja").append("va").toString(); System.out.println(str2.intern()==str2); } } }
书中说因为“java”这个字符串在执行StringBuilder.toString()之前已经出现过字符串 常量池中已经有它的引用了,不符合“首次出现”的原则,而“计算机软件”这个字符串则是首 次出现的,因此返回true
为什么java是已经出现,计算机软件是首次出现。不太明白
慕设计2395807
慕莱坞5149505
相关分类