1. String简介
1.1 基本组成
1.1.1 类定义
public final class String
implements java.io.Serializable, Comparable<String>, CharSequence
- 关键点:
- final 修饰符: final修饰类 ; String 做为 Java 的最基础的引用数据类型,最重要的一点就是不可变性.为了保证该类 不可继承与不可变
1.1.2 类成员
/** The value is used for character storage. */
private final char value[];
- 关键点:
- final 修饰符: 字符数组是私有的,并且没有提供任何可以修改字符数组的方法,所以一旦初始化完成, String 对象便无法被修改。
1.2 字符串常量池
1.2.1 Java中常量池的形态分类
1.2.1.1 静态常量池
即*.class文件中的常量池,class文件中的常量池不仅仅包含字符串常量池,还包含类,方法的信息,占用class文件绝大部分空间.
1.2.1.2 运行时常量池
运行时常量池,则是虚拟机在完成类装载操作后,将class文件中的常量池载入到内存中,并保存在方法区(JDK 1.7为方法区,JDK1.8为元空间)中.我们常说的常量池就是指方法区中的运行时常量池.