JAVA : How many Objects will be created ? 为什么?

标签 java string heap-memory string-pool

<分区>

我正在参加 SCJP 考试,在一本书中找到一行。

String s = new String("abc");

上面写着,将在上面的行中创建两个对象。一个在 HEAP 上,一个在 STRING POOL 上。

我对那里的声明不满意。谁能让我明白为什么要创建两个对象?

提前致谢。

最佳答案

作者是对的。当您使用字符串文字时,该文字首先进入常量池。

因此在常量池中创建了“abc”。

并且当您使用 new 关键字时,会在堆上创建一个名为 s 的新对象。

关于JAVA : How many Objects will be created ? 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32885797/

相关文章:

java - Firebase 身份验证 : getCurrentUser from different Activities?

java - 静态泛型方法的返回类型可以取决于其参数吗?

mule - Anypoint 监控 JVM 堆和运行时管理器 vCore 有何关联?

java - 在 if 语句的方法中比较数组列表的元素

java - Android - 设置同步适配器时启用自动同步

string - 如何在 Erlang 中将重音字符串转换为常规字符串?

python - 从变量打印原始字符串? (没有得到答案)

ruby - 检查数组是否包含字符串,不区分大小写

cmd - 从命令行获取 Java VisualVM 数据

java - 100%老一代——这是一个问题吗?