字串文字的垃圾收集
Q1:如果一個字串在編譯時被定義為文字(例如,String str = "java"),它會被垃圾收集嗎?
通常不會。程式碼物件包含對文字 String 物件的引用,使它們保持可訪問性。垃圾回收僅在程式碼物件變得不可存取時發生。
Q2:如果使用intern 方法(例如String str = new String("java").intern()),會不會是垃圾Collected?
回的物件將與“java”字串文字相同,它在類別載入時被保留。因此,它不會被垃圾收集。但是,與字串文字不同的駐留字串在無法存取時可以被垃圾收集。
Q3:只有在卸載 String 類別時文字才會被垃圾收集,這有意義嗎?
不。 String類別對於Java虛擬機器來說是必不可少的,不太可能被卸載。另有說明的資料來源是不正確的。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3