垃圾收集和字串文字
垃圾收集是 Java 記憶體管理的基本組成部分。然而,理解字串文字垃圾收集的細微差別可能會令人困惑。本文旨在澄清有關此主題的常見問題。
1.定義為文字的字串的垃圾回收
當一個字串在編譯時被定義為文字時,例如String str = "java",一般不會被垃圾回收。對此類字串的引用保留在程式碼物件中,確保它們的可及性。
2.使用intern 方法對字串進行垃圾收集
intern 方法將字串儲存在駐留字串池中(如果該字串尚不存在),並傳回對現有或新駐留字串的引用。對於字串文字,「java」文字在類別載入時被保留。因此,當在包含相同值的新字串物件上使用 intern 時,將傳回 interned 的「java」字串。然而,與文字不同的是,非文字駐留字串一旦變得無法訪問,就可以被垃圾回收。
3.文字的垃圾收集和字串類別的卸載
字串文字只有在String 類別被卸載時才會被垃圾收集的概念是不正確的。 String 類別在 Java 核心中根深蒂固,不太可能被卸載。因此,只要引用程式碼物件可訪問,字串文字就會持續存在。
以上是以下是一些符合條件的標題選項: 聚焦核心問題: * Java 中字串文字會被垃圾收集嗎? * 垃圾收集如何處理字串文字 i的詳細內容。更多資訊請關注PHP中文網其他相關文章!