字符串文字的垃圾收集
Q1:如果字符串在编译时被定义为文字(例如,String str = "java"),它会被垃圾收集吗?
通常不会。代码对象包含对文字 String 对象的引用,使它们保持可访问性。垃圾回收仅在代码对象无法访问时发生。
Q2:如果使用 intern 方法(例如 String str = new String("java").intern()),会不会是垃圾Collected?
返回的对象将与“java”字符串文字相同,它在类加载时被保留。因此,它不会被垃圾收集。但是,与字符串文字不同的驻留字符串在无法访问时可以被垃圾回收。
Q3:只有在卸载 String 类时文字才会被垃圾收集,这有意义吗?
没有。 String类对于Java虚拟机来说是必不可少的,不太可能被卸载。另有说明的消息来源是不正确的。
以上是Java 中的字符串文字是否会被垃圾收集?的详细内容。更多信息请关注PHP中文网其他相关文章!