Java中的“ PermSize”是什么?

我正在阅读Java内存管理中的文档,并且遇到了我无法理解的PermSize。该文档说它存储了“

JVM存储了它的元数据”,但是我无法确切地了解元数据的含义。我在谷歌上搜索,在我读过的地方存储了一个值对象(用户定义的对象)。

什么样的对象存储在那里?一个带有解释的例子将是很好的。

回答:

“永久世代”的简要定义:

“永久代用于保存VM本身的反射数据,例如类对象和方法对象。这些反射对象直接分配到永久代中,并且大小独立于其他代。”

[参考]

换句话说,这就是类定义的去处(这解释了为什么OutOfMemoryError: PermGen

space在应用程序加载大量类和/或重新部署时可能会收到消息的原因)。

请注意,这 是 用户在JVM选项上设置的值的附加功能。但是

允许JVM能够将其增长 到指定的数量。最初,在加载VM时, 仍将是默认值(代表32mb

-client和代表64mb -server),但直到需要时才真正占用该数量。另一方面,如果将BOTH 和

BOTO 都设置为256mb,则会注意到总体堆增加了256mb 。

以上是 Java中的“ PermSize”是什么? 的全部内容, 来源链接: utcz.com/qa/414063.html

回到顶部