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”這個字符串在執(zhí)行StringBuilder.toString()之前已經(jīng)出現(xiàn)過字符串
常量池中已經(jīng)有它的引用了,不符合“首次出現(xiàn)”的原則,而“計算機軟件”這個字符串則是首
次出現(xiàn)的,因此返回true為什么java是已經(jīng)出現(xiàn),計算機軟件是首次出現(xiàn)。不太明白
3 回答

添加回答
舉報
0/150
提交
取消