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

类元数据

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

运行时常量池

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

静态变量

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

JIT编译器编译后的代码

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

其他信息

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

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

相关推荐
敢敢J的憨憨L6 小时前
GPTL(General Purpose Timing Library)使用教程
java·服务器·前端·c++·轻量级计时工具库
sg_knight7 小时前
Spring Cloud与RabbitMQ深度集成:从入门到生产级实战
java·spring boot·spring·spring cloud·消息队列·rabbitmq·stream
hsjkdhs7 小时前
C++之类的继承与派生
开发语言·c++
lly2024067 小时前
HTML 元素:构建网页的基础
开发语言
低调小一7 小时前
LRU缓存科普与实现(Kotlin 与 Swift)
开发语言·缓存·kotlin
爱好学习的青年人7 小时前
一文详解Go语言字符串
开发语言·后端·golang
Chan167 小时前
批处理优化:从稳定性、性能、数据一致性、健壮性、可观测性五大维度,优化批量操作
java·spring boot·后端·性能优化·java-ee·intellij-idea·优化
行者阿毅7 小时前
langchain4j+DashScope (通义千问)文生图
java·ai作画
Bug退退退1237 小时前
Java 网络流式编程
java·服务器·spring·sse
IT机器猫7 小时前
RabbitMQ
java·rabbitmq·java-rabbitmq