gpt4 book ai didi

java - 如何通过 System.out.println ("Morning") 创建可达的对象?

转载 作者:行者123 更新时间:2023-11-30 07:08:21 26 4
gpt4 key购买 nike

在下面的语句中

System.out.println("Morning");

在字符串池中创建包含值“Morning”的对象。而且我们没有明确存储它的地址。但这个对象仍然是可达的。

如果我们尝试重新执行System.out.println("Morning");,JVM 会重用之前创建的对象,因为它存在于字符串池中,它不会创建新的对象对象。

即使我们没有显式存储它的地址,JVM 如何跟踪该对象?

最佳答案

"Morning" 是一个字符串文字。当加载类时,所有字符串文字都会添加到字符串常量池中。

And we are not storing it's address explicitly

我们是否存储引用与将字符串文字添加到常量池无关。 "" 中的所有内容都放在那里。

But still this object is reachable.

再说一遍,可达性与在字符串常量池中添加和检索无关。 JVM 的工作方式可能是特定于 JVM 的,但某些 JVM 可能会在类加载期间将类常量字符串添加到字符串常量池中。

关于java - 如何通过 System.out.println ("Morning") 创建可达的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39672191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com