首页 > Java > java教程 > 什么取代了 JDK 8 中的 PermGen?它是如何工作的?

什么取代了 JDK 8 中的 PermGen?它是如何工作的?

Susan Sarandon
发布: 2024-11-19 01:04:02
原创
691 人浏览过

What Replaced PermGen in JDK 8 and How Does It Work?

消除 JDK 8 中的 PermGen

升级到 JDK 8 后,您在尝试启动 Eclipse 时可能会遇到警告消息。此警告表示“MaxPermSize”Java 虚拟机 (JVM) 选项由于在 JDK 8 中被删除而被忽略。

忽略“MaxPermSize”的原因

由“MaxPermSize”选项管理的永久代(PermGen)空间已从 JDK 8 中的 HotSpot 中删除。这主要是由于以下几个缺点:

  • 启动时固定大小,使其变得困难进行调整。
  • 不透明且弱类型,导致调试挑战。
  • 由于其限制,未来的改进有限。

MetaSpace:替代品PermGen

PermGen 已被 Metaspace 取代,Metaspace 是一个解决这些缺点的新空间。 Metaspace 有几个优点:

  • 类加载器特定的存储区域,简化分配。
  • 线性分配,无需单独回收,提高效率。
  • 无需 GC 扫描或压缩,减少开销。
  • 无限的默认大小,避免潜在的内存限制。

元空间调整

虽然元空间的最大大小通常是无限的,您可以使用“-XX:MaxMetaspaceSize”标志来设置它。此外,“-XX:MetaspaceSize”定义其初始大小。如果未指定,Metaspace 会根据运行时需求动态调整。

总而言之,JDK 8 中 PermGen 的消除和 Metaspace 的引入带来了 GC 性能的提高和运行时管理的简化。开发人员应该了解“MaxPermSize”选项的弃用及其对应用程序的影响。

以上是什么取代了 JDK 8 中的 PermGen?它是如何工作的?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板