java - 使用new构造的String对象除了堆之外还驻留在哪里?

标签 java string

使用 new 运算符创建的字符串是否驻留在堆和字符串池中?

或者可能有人可以向我指出一些文档或链接来指导我字符串池的行为?

最佳答案

案例1-

String s1="world";
String s2="india";
String s3="world";

这里将在 Pool 中创建两个对象。 s1 和 s3 将指向同一个对象。 字符串文字进入池内存。

案例2-

String s1=new String("world");
String s2=new String("india");
String s3=new String("world");

这里将在堆上创建三个对象。

新词使用堆内存来创建对象。

希望我能告诉。

参见link以便更详细地了解。

关于java - 使用new构造的String对象除了堆之外还驻留在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15761283/

相关文章:

python - 使用 Python 将字符串中的字符转换为多个字符

sql - MySQL:如果字符串以 jpg、gif 或 png 结尾,则替换子字符串

java - 使用 ArrayList<JPanel> 构建 GUI

java - 如何判断一个对象属于某个特定的类

javascript - jsonObject 是一个字符串 - 如何转换为 json?

java - 类似的代码,但有一个版本在应该返回字符串时却没有返回

java - 我如何在java中创建一个带有接受扩展接口(interface)类型参数的函数的接口(interface)?

Java 11 包 javax.xml.bind 不存在

java - JPA 和一组枚举值

python - 在 python 中识别字符串中的子字符串的最有效方法?