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