【JDK源码分析】String的存储区与不可变性

我们有时会发生疑惑:为什么通过字符串常量实例化的String类型对象是一样的,而通过new所创建String对象却不一样呢?且看下面分解。 1. 数据存储区 String是一个比较特殊的类,除了new之外,还可以用字面常量来定义。为了弄清楚这二者间的区别,首先我们得明白JVM运行时数据存储区,这里有一张图对此有清晰的描述: 非共享数据存储区 非共享数据存储区是在线程启动时被创建的,包括: 程序计数
相关文章
相关标签/搜索