您的位置:首页 > 编程语言 > Java开发

为什么JDK 1.8中不再有永久代(permanent generation)

2017-09-19 17:06 239 查看
1.什么是永久代

只有 HotSpot 才有 “PermGen space”,而对于其他类型的虚拟机,如 JRockit(Oracle)、J9(IBM) 并没有“PermGen space”。

用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen
space区域,它和存放Instance的Heap区域不同,所以如果你的APP会load很多class的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。(动态生成class)

2.Metaspace

在Java 8 中,取消了永久代。

3.为什么取消永久代

(有空再写)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: