元空间(Metaspace)是JVM中方法区的实现方式之一。
元空间(Metaspace)是Java虚拟机(JVM)用于存储类元数据的内存区域,取代了JDK 8之前的永久代(PermGen)。
本地内存:
元空间使用本地内存(Native Memory)而不是堆内存,这意味着它不受堆内存大小的限制。
本地内存指的是由操作系统直接管理的内存,而不是由Java虚拟机(JVM)内部的垃圾回收机制管理的内存区域。
- 元空间的大小可以根据需要动态增长,只受限于可用的系统内存。
- 自动管理:JVM自动管理元空间的内存分配和回收。当不再需要类元数据时,JVM会回收相应的内存。
- 减少内存泄漏:由于元空间使用本地内存,动态增长减少了内存泄漏的风险,提高了内存利用率。
元空间存储内容
- 类信息
- 类的常量池存储类的常量信息
- 方法代码:类的方法代码存储在元空间中,包括方法的字节码指令、异常处理表、局部变量表、操作数栈等。
- 符号引用:元空间中存储类的符号引用信息,如类的全限定名、字段的符号引用、方法的符号引用等。符号引用用于支持类的加载、链接和运行时解析。