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

类元数据

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

运行时常量池

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

静态变量

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

JIT编译器编译后的代码

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

其他信息

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

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

相关推荐
cndes2 分钟前
Pycharm的虚拟环境设置问题
开发语言·python
weixin_4597539411 分钟前
c++如何利用filesystem--relative计算两个文件之间的相对路径【详解】
jvm·数据库·python
河阿里12 分钟前
Java包装类(Wrapper):自动装箱拆箱机制与类型转换的那些坑
java·开发语言
小宇的天下13 分钟前
Virtuoso 技巧---被锁定无法编辑的文件解锁
java
jekc86818 分钟前
金蝶云星空调用第三方接口
开发语言·python
专注VB编程开发20年24 分钟前
json和python元组,列表,字典对比
开发语言·python·json·php
m0_5967490925 分钟前
Golang怎么实现队列数据结构_Golang如何用切片实现先进先出的队列【方法】
jvm·数据库·python
ComputerInBook26 分钟前
C++ 14 相比 C++ 11新增之特征
开发语言·c++·c++ 14
m0_5913647332 分钟前
如何编写带默认值的SQL存储过程_简化前端调用接口设计
jvm·数据库·python
iAm_Ike33 分钟前
如何处理SQL存储过程存储过程循环陷阱_优化逻辑结构
jvm·数据库·python