首页  >  文章  >  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