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

类元数据

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

运行时常量池

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

静态变量

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

JIT编译器编译后的代码

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

其他信息

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

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

相关推荐
零陵上将军_xdr9 分钟前
为什么DCL单例要加volatile?——CPU乱序执行与内存屏障
java·linux
master33618 分钟前
python 安装pip
开发语言·python·pip
思麟呀19 分钟前
C++14概述与三大核心语法改进
开发语言·c++
shushangyun_23 分钟前
批发商城系统源码多少钱?2026最新报价一览
java·开发语言·人工智能·spring·spring cloud
cfm_291424 分钟前
JVM深度详解:Class常量池、运行时常量池、字符串常量池、包装类对象池
java·jvm
JAVA面经实录91725 分钟前
高频算法面试题
java·计算机网络·算法·面试
影视飓风TIM25 分钟前
从C++引用到类封装:底层视角拆解核心语法与面试考点
java·开发语言
江畔柳前堤31 分钟前
github实战指南03-Pull Request 全流程实战
开发语言·人工智能·python·深度学习·github·word
森G33 分钟前
67、Qt 多媒体框架概述---------多媒体
开发语言·qt
葛兰岱尔43 分钟前
从 SolidWorks 到 Three.js,从 Inventor 到 Unity——制造业CAD模型“几何-语义一体化“转换,不再是天方夜谭!
开发语言·javascript·unity