Java Leyden可3倍提高JVM启动和预热时间

💡 原文中文,约1700字,阅读约需5分钟。
📝

内容提要

Java Leyden是一个用于改进Java程序启动时间和性能的存储库,通过优化缓存、类处理、方法配置文件、常量池解析、方法编译、动态代理和反射数据生成以及类加载器查找缓存等方式,显著提高JVM的启动和预热时间。

🎯

关键要点

  • Java Leyden旨在改进Java程序的启动时间、性能和占用空间。
  • Leyden通过训练运行预先计算信息并将字节码预编译为本机代码。
  • 统一缓存数据存储增强了CDS,支持存储分析数据和已编译的Java方法。
  • CDS档案中的已加载类功能使JVM在启动时立即加载类。
  • 方法配置文件存储在CDS档案中,使JIT在预热期间更早开始编译。
  • 提前解析常量池条目加快了应用程序启动速度,并改善了AOT编译器的代码生成。
  • 训练运行期间经常使用的方法可以提前编译并与CDS档案一起存储。
  • 提前生成动态代理和反射数据以缩短启动时间。
  • 类加载器查找缓存优化了按名称执行的类查找,提升了效率。
➡️

继续阅读