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

类元数据

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

运行时常量池

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

静态变量

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

JIT编译器编译后的代码

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

其他信息

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

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

相关推荐
2301_790300964 分钟前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
weixin_499771555 分钟前
C++中的组合模式
开发语言·c++·算法
初级代码游戏5 分钟前
套路化编程 C# winform 自适应缩放布局
开发语言·c#·winform·自动布局·自动缩放
_waylau9 分钟前
鸿蒙架构师修炼之道-架构师的职责是什么?
开发语言·华为·harmonyos·鸿蒙
zfoo-framework13 分钟前
帧同步和状态同步
java
charlotte1024102416 分钟前
高并发:关于在等待学校教务系统选课时的碎碎念
java·运维·网络
2的n次方_20 分钟前
CANN Ascend C 编程语言深度解析:异构并行架构、显式存储层级与指令级精细化控制机制
c语言·开发语言·架构
m0_7369191020 分钟前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
亓才孓20 分钟前
[JDBC]PreparedStatement替代Statement
java·数据库
_F_y43 分钟前
C++重点知识总结
java·jvm·c++