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

类元数据

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

运行时常量池

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

静态变量

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

JIT编译器编译后的代码

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

其他信息

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

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

相关推荐
踩着两条虫20 小时前
「AI + 低代码」的可视化设计器
开发语言·前端·低代码·设计模式·架构
JoneBB20 小时前
ABAP Webservice连接
运维·开发语言·数据库·学习
budingxiaomoli20 小时前
Spring IoC &DI
java·spring·ioc·di
Spider Cat 蜘蛛猫20 小时前
Springboot SSO系统设计文档
java·spring boot·后端
未若君雅裁20 小时前
MySQL高可用与扩展-主从复制读写分离分库分表
java·数据库·mysql
2401_8676239820 小时前
CSS Flex布局中如何设置子元素间距_掌握gap属性的现代用法
jvm·数据库·python
即使再小的船也能远航20 小时前
【Python】安装
开发语言·python
学习中.........20 小时前
从扰动函数的变化,感受红黑树带来的性能提升
java
Irissgwe20 小时前
类与对象(三)
开发语言·c++·类和对象·友元
计算机安禾21 小时前
【c++面向对象编程】第24篇:类型转换运算符:自定义隐式转换与explicit
java·c++·算法