gpt4 book ai didi

java - 当我们写入时创建了多少个对象

转载 作者:行者123 更新时间:2023-12-02 11:58:56 25 4
gpt4 key购买 nike

String str=new String ("xyz");

我在某处读到 JVM 在池中创建第一个对象,在堆中创建第二个对象。

这是真的吗?如果是真的,那么为什么 JVM 在已经存在一个对象的情况下创建 2 个对象,有人能解释一下吗?

最佳答案

是的,你说得对。它创建了两个对象。一个在字符串常量池中,另一个在堆中指向字符串池。

  1. 如果我们考虑 String str= "Hello"//字符串文字,JVM 只会在字符串常量池中创建一个对象。
  2. 根据你的语法(String str = new String("xyz")//String object) JVM创建2个对象。一个在字符串池中,另一个在堆中)。

如需进一步引用,请查看以下讨论: String s = new String("xyz"). How many objects has been made after this line of code execute?

关于java - 当我们写入时创建了多少个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47399482/

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