jvm - 永久代是堆的一部分还是在 jvm 中位于自身的不同空间

标签 jvm heap permgen

我看到过关于这个问题的多条评论——有人说是,有人说不是,许多答案模棱两可。任何人都可以用更简单的术语描述它所在的位置吗?在一篇文章中,我什至看到有人说它与类加载器加载类的类内存共享相同的内存位置 - 这是真的吗?

最佳答案

原文(可能有误)答案:如果wikipedia可以相信,它是堆的一部分。

编辑:我已经环顾四周,包括 OP 评论中引用的站点。在这项研究中,我遇到了 this SO question ,其中引用了 this document ,这表明对于 Sun Java(版本 6),永久集合实际上在堆之外。也就是说,我不是 Java 专家,以前不知道这个级别的内存管理细节。如果我的阅读是正确的,永久代的放置 - 甚至存在 - 是一个 jvm 实现细节。

关于jvm - 永久代是堆的一部分还是在 jvm 中位于自身的不同空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8407318/

相关文章:

java - -XX :MaxPermSize with or without -XX:PermSize

java - 非线性依赖条件断点

java - JVM 退出时是否自动释放 native 屏幕资源?

c++ - 用 STL 维护最小堆的简单方法?

java - 如何解决 PermGen 内存问题

java - PermGen 实际上代表什么?

java - JVM:编译器需要在方法字节码的哪些位置指定堆栈映射帧?

jvm - 无法从运行代码生成序列图 - Enterprise Architect

python - 在 Python 中对二维数组进行部分 argsort

algorithm - 最大堆化二叉树