首頁  >  文章  >  Java  >  Java 中的字串文字是否會被垃圾收集?

Java 中的字串文字是否會被垃圾收集?

DDD
DDD原創
2024-10-30 02:46:29840瀏覽

 Are String Literals Ever Garbage Collected in Java?

字串文字的垃圾收集

Q1:如果字串在編譯時被定義為文字(例如,String str = "java"),它會被垃圾收集嗎?

通常不會。程式碼物件包含對文字 String 物件的引用,使它們保持可訪問性。垃圾回收僅在程式碼物件無法存取時發生。

Q2:如果使用intern 方法(例如String str = new String("java").intern()),會不會是垃圾Collected?

回傳的物件將與“java”字串文字相同,它在類別載入時被保留。因此,它不會被垃圾收集。但是,與字串文字不同的駐留字串在無法存取時可以被垃圾回收。

Q3:只有在卸載 String 類別時文字才會被垃圾收集,這有意義嗎?

沒有。 String類別對於Java虛擬機器來說是必不可少的,不太可能被卸載。另有說明的資料來源是不正確的。

以上是Java 中的字串文字是否會被垃圾收集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn