String:
- String属于java.lang.String类,表示字符串,是引用数据类型,其整个生命周期内是不可变的。
- 使用final修饰的char类型数组来存储字符。
- 显式的String常量放在方法区中的常量池,String对象放在堆中。
private final char value[];
字符串常量池
字符串常量池位于堆内存中,专门用来存储字符串常量,可以提高内存的使用率,避免开辟多块空间存储相同的字符串,在创建字符串时 JVM 会首先检查字符串常量池,如果该字符串已经存在池中,则返回它的引用,如果不存在,则实例化一个字符串放到池中,并返回其引用。
String的特性
- 不变性:String 是只读字符串,是一个典型的 immutable