方法区域和PermGen


问题内容

我试图了解HotSpot JVM的内存结构,并将其与 “方法区域”“ PermGen”
空间这两个术语混淆了。我提到的文档说“方法区域”包含类和方法的定义,包括字节码。其他一些文档说它们存储在PermGen空间中。

那么我可以得出结论,这两个内存区域 相同 吗?


问题答案:

您应该查看Java内存类型,以及有关Java 垃圾收集的此文档(可选)。后者非常冗长,两者都很有用。

实际上,“方法”区域是“永久生成”的一部分:

与终身代关系密切的第三代是永久代。永久生成是特殊的,因为它保存虚拟机所需的数据,以描述在Java语言级别上不具有等效性的对象。例如,描述类和方法的对象存储在永久代中。