参考答案
永久代是 HotSpot VM 对方法区的实现,JDK 8 将其移除的部分原因如下:
- 类及方法的信息等比较难确定其大小,因此对于永久代的大小指定比较困难,太小容易出现永久代溢出,太大则容易导致老年代溢出。
- 永久代会为 GC 带来不必要的复杂度,并且回收效率偏低。
- 将 HotSpot 与 JRockit 进行整合,JRockit 是没有永久代的。
以上,是JVM面试题【JDK8为什么要使用元空间取代永久代】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—