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