什么是 Java 中的字符串常量池?
直接以如下方式存储字符串时,
String str1 = "Hello";
JVM 在一个称为字符串常量池的独立内存块中创建了一个具有给定值的字符串对象。

并且无论何时我们尝试创建另一个字符串,
String str2 = "Hello";
JVM 验证字符串常量池中是否存在任何具有相同值的字符串对象,如果存在,则 JVM 将现有对象引用分配给新变量,而不是创建新对象。

当我们使用如下方式存储字符串时,
String str = new String("Hello");irrespective of the contents of the String constant pool,将创建一个具有给定值的新对象。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP