Java虚拟机(JVM)元数据区存放的内容

类元数据

元数据区(在HotSpot虚拟机中也称为Metaspace)主要存放了类的元数据信息,如类的名称、访问修饰符、常量池、字段描述、方法描述等。

运行时常量池

运行时常量池是每个类或接口的常量池表的运行时表示形式,包含了若干种不同的常量,从编译期生成的字面量到方法和字段的引用,这些都会在类加载后进入元数据区的运行时常量池。

静态变量

类的静态变量也被存放在元数据区,因为它们是与类相关的,而不是与类的某个特定实例相关的。

JIT编译器编译后的代码

即时编译器(JIT)编译后的代码有时也会存放在元数据区或类似的本地内存区域中。

其他信息

此外,元数据区可能还包含了类的加载器信息、类的结构信息、数组信息等。

在Java 8之前,类的元数据信息是存放在永久代(PermGen)中的,但从Java 8开始,永久代被移除,取而代之的是元数据区(Metaspace)。Metaspace相对于永久代的好处在于,它使用本地内存,因此默认情况下不受Java堆大小的限制,能够更灵活地管理类的元数据信息。

相关推荐
один but you14 小时前
const和constexpr常量表达式
java·前端·javascript
码云数智-大飞14 小时前
RAII 与智能指针深度拆解
java·前端·算法
云烟成雨TD14 小时前
Agent Scope Java 2.x 系列【19】Harness:从零搭建 MySQL 文件系统
java·人工智能·agent
qq36219670514 小时前
阿里裁员新消息(2026最新动态汇总)
java·开发语言·前端
a11177614 小时前
“黑夜流星“个人引导页 网页html
java·前端·html
砚底藏山河14 小时前
沪深A股:如何获取基金持股数据
java·python·数据分析·maven
.千余14 小时前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
代码改善世界15 小时前
【C++进阶】C++11:列表初始化、右值引用与移动语义、完美转发全解析
java·开发语言·c++
AIGS00115 小时前
JBoltAI V4.5企业智能体平台:技术架构拆解
java·人工智能·ai大模型应用
scx_link15 小时前
通过git bash在本地创建分支,并推送到远程仓库中
开发语言·git·bash