什么是 Java 中的字符串常量池?


当您将 String 存储为

String str1 = "Hello";

直接存储,那么 JVM 会在一个称为字符串常量池的单独内存块中创建带有给定值的字符串对象。

并且每当我们尝试创建另一个 String 为

String str2 = "Hello";

JVM 会验证字符串常量池中是否存在具有相同值的字符串对象,如果是,则 JVM 将分配现有对象的引用给新变量,而不是创建新的对象。

当我们存储 String 为

String str = new String("Hello");

使用 new 关键字,无论字符串常量池的内容如何,都会创建一个具有给定值的新对象。

更新于:30-Jul-2019

686 浏览量

启动你的 职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.