Class文件常量池
Clas文件中除了有类的版本、字段等描述信息外,还有常量池表(Constant Pool Table),用于存放编译期生成的各种字面量和符号引用,这部分内容在类加载后会存放在方法区中的运行时常量池。
符号引用
- 类和接口的全限定名
- 字段的名称和描述符
- 方法的名称和描述符
运行时常量池
运行时常量池是在方法区中,即JDK1.8中的元空间。JVM将类加载到内存中后,会将Class常量池中的内容存放到运行时常量池中。
字符串常量池
为了减少字符串对象的重复创建,复用字符串对象,在堆中开辟了一段内存用于存放字符串常量