Java 的字串池探索
考慮以下程式碼:
String first = "abc"; String second = new String("abc");
問題1:字元串池與New 一起使用關鍵字
當Java使用new String()建構子初始化第二個時,它是否會建立一個全新的abc String實例?
答案:是的,使用new確保建立一個新的 String 物件。
問題 2:堆和字串池儲存
新建立的String實例(透過new關鍵字)會儲存在常規堆還是字串池中?
答案:所有對象,包括 String 對象,駐留在堆上。字串池不是一個單獨的記憶體區域;這是一種類似快取的機制。
問題 3:字串池計數
字串池中有多少個「abc」字串的實例?
答案:通常,當您建立不可變字串文字時,Java 會自動放置它們在字串池中。然而,在這個特定場景中:
因此,在這種情況下,只需要一個 "abc" 字串實例將存在於字串池中。
以上是Java 的字串池如何處理使用 new 關鍵字建立的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!