元空间(Metaspace)、方法区(Method Area)与永久代(PermGen)之间有什么区别?
考察说明
考察JVM内存模型中方法区随时间演进及其与元空间/永久代的关系
回答思路
- 正确界定方法区是JVM规范定义的逻辑区域,而永久代和元空间是其具体实现
- 说明JDK8之前永久代存储类元数据并受堆内存限制,常导致OOM
- 说明JDK8以后元空间替代永久代,使用本地内存并默认不设上限
- 指出永久代中的字符串常量池等已移至堆,且元空间受MaxMetaspaceSize控制
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。