Java Leyden可3倍提高JVM启动和预热时间
💡
原文中文,约1700字,阅读约需5分钟。
📝
内容提要
Java Leyden是一个用于改进Java程序启动时间和性能的存储库,通过优化缓存、类处理、方法配置文件、常量池解析、方法编译、动态代理和反射数据生成以及类加载器查找缓存等方式,显著提高JVM的启动和预热时间。
🎯
关键要点
- Java Leyden旨在改进Java程序的启动时间、性能和占用空间。
- Leyden通过训练运行预先计算信息并将字节码预编译为本机代码。
- 统一缓存数据存储增强了CDS,支持存储分析数据和已编译的Java方法。
- CDS档案中的已加载类功能使JVM在启动时立即加载类。
- 方法配置文件存储在CDS档案中,使JIT在预热期间更早开始编译。
- 提前解析常量池条目加快了应用程序启动速度,并改善了AOT编译器的代码生成。
- 训练运行期间经常使用的方法可以提前编译并与CDS档案一起存储。
- 提前生成动态代理和反射数据以缩短启动时间。
- 类加载器查找缓存优化了按名称执行的类查找,提升了效率。
➡️