java - 方法区和 PermGen

标签 java memory-management jvm jvm-hotspot permgen

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

那么我可以断定这两个内存区域相同吗?

最佳答案

你应该看看Java Memory Types并可选择在本文档中了解 Garbage Collection在 java 。后者非常冗长,但两者都很有用。

其实方法区是永久代的一部分:

A third generation closely related to the tenured generation is the permanent generation. The permanent generation is special because it holds data needed by the virtual machine to describe objects that do not have an equivalence at the Java language level. For example objects describing classes and methods are stored in the permanent generation.

关于java - 方法区和 PermGen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9095748/

相关文章:

java - 为什么 -Xmx 和 Runtime.maxMemory 不一致

java - 太多的 if-else 语句,有什么方法可以重构它

java - JTree 在应用程序启动时添加节点

java - 我没有告诉它 VBO 渲染顶点

memory-management - WinRT 如何处理 BitmapImage 和 Image 内存

java - JVM Runtime.getRuntime().availableProcessors() 在 AWS ECS Fargate 上返回 1

java - 为什么我在使用 @SuppressWarnings ("unchecked"时仍然收到警告?

java - 解决向double Arraylist添加新值时Java堆空间错误

ios - 将 Storyboard View 添加为 subview 时发送到已释放实例的消息

java - 支持在 HotSpot JVM 中删除压缩字符串?