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

类元数据

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

运行时常量池

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

静态变量

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

JIT编译器编译后的代码

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

其他信息

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

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

相关推荐
jf加菲猫10 分钟前
条款21:优先选用std::make_unique、std::make_shared,而非直接new
开发语言·c++
消失的旧时光-194321 分钟前
Kotlin 高阶函数在回调设计中的最佳实践
android·开发语言·kotlin
毕设源码-朱学姐27 分钟前
【开题答辩全过程】以 查寝打卡系统为例,包含答辩的问题和答案
java·eclipse
LucianaiB1 小时前
掌握 Rust:从内存安全到高性能服务的完整技术图谱
开发语言·安全·rust
m0_748240251 小时前
C++ 游戏开发示例:简单的贪吃蛇游戏
开发语言·c++·游戏
QMY5205201 小时前
爬虫的意义
java·spring·tomcat·maven
兰亭妙微2 小时前
2026年UX/UI五大趋势:AI、AR与包容性设计将重新定义用户体验
开发语言·ui·1024程序员节·界面设计·设计趋势
lang201509282 小时前
Spring Boot Actuator深度解析与实战
java·spring boot·后端
懒羊羊不懒@2 小时前
Java—枚举类
java·开发语言·1024程序员节
zerolala2 小时前
Java容器常用方法
java·1024程序员节