PermGen 空间和 MetaSpace 的区别。


PermGen 是用于存储类数据的内存区域,例如静态变量、字节码等。默认情况下,为 PermGen 分配 64 Mb。可以使用 -XXMaxPermSize 进行调整。

在 Java 8 中,PermGen 方法区被 MetaSpace 替换。他们将 permGem 移动到原生操作系统中的独立内存中,这称为 MetaSpace。它可以默认自动增加其大小。在 MetaSpace 中,类可以在 JVM 的生命周期内加载和卸载。

序号关键点PermGenMetaSpace
1
基本
PermGen 是用于存储类数据的内存区域,例如静态变量、字节码等
在 Java 8 中,PermGen 方法区被 MetaSpace 替换
2
默认内存分配
默认情况下,为 PermGen 分配 64 Mb
它可以默认自动增加其大小
3
调整内存标志
可以使用 -XXMaxPermSize 进行调整。
我们可以使用 -XX:MaxMetaspaceSize 限制内存的上限。
4
内存区域
它是一个特殊的堆空间。
从 Java 8 开始,它现在是原生操作系统中的独立内存区域

更新于: 2020年9月9日

4K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告