PermGen Space 和 MetaSpace 之间的区别。

javaserver side programmingprogramming

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

在 Java 8 中,PermGen 方法区被 MetaSpace 取代。他们已将 permGem 移至本机操作系统中的单独内存,称为 MetaSpace。默认情况下,它可以自动增加其大小。在 MetaSpace 中,类可以在 JVM 的生命周期内加载和卸载。

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

相关文章