Oracle 启动 Leyden 计划,下决心解决 Java 启动慢等长期痛点
当地时间 5 月 20 日,Oracle Java 平台组首席架构师 Mark Reinhold 在其 Twitter 宣布正式启动莱顿计划(Project Leyden),该计划的最终目标是解决 Java 启动时间慢,达到峰值性能的时间慢以及占用空间大等长期痛点。
此消息让不少 Java 用户感到振奋。
好消息,终于来了!我们快开始吧!—— Roman Kennke @rkennke
我希望 CRaC 将成为 Leyden 的一部分。它看起来很有希望。—— Marc Savy @marcsavy
我猜 Quarkus 应用程序会从中受益。—— Vano Beridze @vanuatoo
据悉,2 年多前,Mark Reinhold 曾公开征集开发者对莱顿计划的想法(详见:Call for Discussion: New Project: Leyden),他建议通过向 Java 平台和 JDK 引入静态运行时映像的概念来解决以上痛点。
-
静态映像是一个独立的程序,从一个应用程序和一个运行该应用程序的 JDK 派生出来的 ,而不是其他的。
-
静态映像相对于它可以加载的类来说是一个封闭的世界:在运行时,它不能从映像外部加载类,也不能动态创建类。
封闭世界约束对 Java 的自然活力施加了严格的限制,尤其是对许多现有 Java 库和框架所依赖的运行时反射和类加载功能。并非所有应用程序都非常适合此约束,也不是所有开发人员都愿意接受它。
因此,与其在一开始就采用封闭世界的约束,Mark Reinhold 建议采取一种循序渐进的方法——探索一系列比封闭世界的约束更弱一些的约束,找出它们能够实现哪些优化。几乎可以肯定的是,由此产生的优化会比封闭世界约束所实现的优化弱。但是,正因为约束较弱,这些优化才有可能适用于更广泛的现有代码,那么,它们也将对更多开发人员更有用。
Mark Reinhold 表示,他们将沿着这些约束范围逐步工作,从小而简单的开始,以便能够深入了解 Java 平台规范所需的更改。当然,在此过程中,他们将努力保持 Java 的可读性、兼容性和通用性的核心价值。
他们将大量依赖 JDK 的现有组件,包括 HotSpot JVM、C2 编译器、应用程序类数据共享 (CDS) 和 jlink 连接工具。
“从长远来看,我们可能会接受完全封闭世界的约束,以产生完全静态的图像。但是,从现在到那时,我们将开发和提供渐进式改进,开发人员可以尽早使用。”Mark Reinhold 最后写道。
本文文字及图片出自 InfoQ
你也许感兴趣的:
- 新增 300 多项功能,Oracle Database 23ai 正式发布!年近 50 岁的数据库巨头正迈入 AI 时代
- ORACLE 数据库应用开发三十忌
- 谈判失败,Oracle 亲手把 Java EE 送上断头台
- 亚马逊将在2019年底之前弃用所有Oracle数据库
- 甲骨文宣布将Java SE商业使用许可的年付费模式改为订阅付费模式
- Oracle毙掉了JavaOne
- 你大爷还是你大爷?Oracle可以再造辉煌吗?
- 数据库大盘点:MySQL似乎已撼动Oracle霸主地位!
- Oracle迁移到MySQL性能下降的注意点
- 11 月全球数据库排行榜,Oracle 霸主地位受威胁
你对本文的反应是: