原文地址:# Why String is immutable in Java? 众所周知,String类在Java中是不可变的.不可变类简单地说是实例不可修改的类.对于一个实例创建后,其初始化的时候所有的信息都不能被修改.不可变类有很多的好处,本文简述为什么String类要设计成不可变类.本文将从内存,同步性,数据结构的角度说明不变性的概念. 1.字符串常量池的需要 String常量池是方法区的一个特殊的储存区.当新建一个字符串的时候,如果此字符串在常量池中早已存在,会返回一个已经存在字符串的引…