首页 > 解决方案 > java中元空间区域或permgen的引用在哪里

问题描述

我正在阅读 java 语言规范和 jvm 规范。

但我找不到关于 PermGen 或 Metaspace 的参考资料。

据我所知,java7中的PermGen改为java8中的Metaspace。
但是我在java规范等官方文档中找不到它。

我试图以正确的方式理解 java 的内存区域。

在 JVM 7 和 8 规范中,只有 6 个运行时数据区的引用,它们分别是PC RegisterJVM stacksHeapMethod AreaRuntime Constant PoolNative Method stacks
那么,我什么时候可以得到这些信息呢?
我感激你。

标签: javajvm

解决方案


PermGen(永久代)已在 JDK 8 中完全删除。

在 JDK 8 中,类元数据现在存储在本机堆中,这个空间称为Metaspace

这里给出了一个非常好的信息:https ://dzone.com/articles/java-8-permgen-metaspace

关于差异:PermGen 和 Metaspace 有什么区别?

Oracle 博客参考:https ://blogs.oracle.com/poonam/about-g1-garbage-collector,-permanent-generation-and-metaspace


推荐阅读