我正在阅读Java语言规范和jvm规范。
但是我找不到关于PermGen或Metaspace的参考。
据我所知, java7中的PermGen已更改为java8中的Metaspace。
但是我在Java规范之类的官方文档中找不到它。
我正在尝试正确理解Java的内存区域。
在JVM 7和8规范中,仅存在关于6个运行时数据区域的引用,它们分别是PC Register
,JVM stacks
,Heap
,Method Area
,{{1} },Runtime Constant Pool
。
那么,什么时候可以得到信息呢?
感谢您。
答案 0 :(得分:1)
PermGen (永久生成)已在JDK 8中完全删除。
在JDK 8中,类元数据现在存储在本机堆中 该空间称为元空间。
此处提供了非常好的信息:https://dzone.com/articles/java-8-permgen-metaspace
关于差异:What is the difference between PermGen and Metaspace?
Oracle Blog参考:https://blogs.oracle.com/poonam/about-g1-garbage-collector,-permanent-generation-and-metaspace