java - 垃圾回收和字符串

标签 java

我对字符串有一些疑问

它们是在堆上还是在字符串池上?

如果在堆上,如果任何 Activity 线程都无法访问它们,那么它们将被垃圾收集。

如果在字符串池中,那么它们将如何被删除或删除,因为我们知道垃圾收集只发生在堆上。

最佳答案

String s = new String("abc");

s 引用的字符串对象将在堆上,字符串文字“abc”将在字符串池中。字符串池中的对象不会被垃圾回收。它们可以在程序的生命周期内重复使用,以提高性能。

关于java - 垃圾回收和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2202162/

相关文章:

java - wsimport 绑定(bind) xsd :int to Integer instead of int

java - REST 身份验证

java - 在 JFrame 中显示 java JPanel

java - 如何使用 Java Web 启动仅下载一次的应用程序

java - 通过反射在运行时获取通用字段类型

java - 如何检查 url 中是否存在协议(protocol)?

java - 在滚动 ListView 中,单选按钮未被选中

java - Hibernate 模板中的动态表创建

java - this::myMethod 和 ClassName::myMethod 之间有什么区别?

java - Jlist 的换行/字符串生成器的下一行