Java JDK1.8中类常量池、运行时常量池、字符串常量池所处区域

类常量池

诞生时间:编译时
所处区域:堆(类常量池存在Class文件中,一个Class文件对应一个类常量池)
储存内容:符号引用和字面量。

字符串常量池

诞生时间:编译时
所处区域:堆
储存内容:堆内的字符串对象的引用和字符串常量。

运行时常量池

诞生时间:当类加载到内存中后
所处区域:本地内存(每个class都有一个运行时常量池,运行时常量池存在元空间中)
储存内容:class文件元信息描述,编译后的代码数据,引用类型数据(类经过解析后会把符号引用替换为直接引用,解析的过程会去查询字符串常量池,以保证运行时常量池所引用的字符串与全局字符串池中所引用的是一致的)。

发布了92 篇原创文章 · 获赞 4 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/DingKG/article/details/103390751