java - Java中未分配给变量的字符串文字会导致内存泄漏吗?

标签 java string

假设我有一个函数,它接受一个字符串参数,例如 func("abc")

“abc”会被保留(存储在字符串池中)吗?如果func("abc")被调用十亿次,java会在池中创建十亿个“abc”字符串对象副本吗?

最佳答案

没有。在字符串池中,只会创建一个副本,并且所有具有相同字符串值的变量都将指向该副本。

为了更清楚,您可以查看下图:

https://cdn.journaldev.com/wp-content/uploads/2012/11/String-Pool-Java1.png

关于java - Java中未分配给变量的字符串文字会导致内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60556063/

相关文章:

java - Java 中字符串修剪和分割的高效使用

java - 使用 Java,如何列出并打印 MS-Access 2003 mdb 文件中的所有查询?

java - Ant:如何编译包含源附件的 jar

java - 如何从类外部更改方法的功能?

java - 如何使用java处理大量字符串?

C++,计算字符串中重复的单词并显示

string - Ocaml 中的子字符串检查

c - 修改并替换C中char数组中的值

java - 在 Cassandra 中使用对象映射器批量插入

python - 如何从变量指定浮点小数精度?