web 3.0 基础设施、数据驱动决策、核心系统数字化转型……戳此了解qcon广州站专题方向
写点什么

oracle 启动 leyden 计划,下决心解决 java 启动慢等长期痛点-金马国际

  • 2022 年 5 月 21 日
  • 本文字数:885 字

    阅读完需:约 3 分钟

当地时间 5 月 20 日,oracle java 平台组首席架构师 mark reinhold 在其 twitter 宣布正式启动莱顿计划(),该计划的最终目标是解决 java 启动时间慢,达到峰值性能的时间慢以及占用空间大等长期痛点。


此消息让不少 java 用户感到振奋。


好消息,终于来了!我们快开始吧!—— roman kennke @rkennke

我希望 crac 将成为 leyden 的一部分。它看起来很有希望。—— marc savy @marcsavy

我猜 quarkus 应用程序会从中受益。—— vano beridze @vanuatoo


据悉,2 年多前,mark reinhold 曾公开征集开发者对莱顿计划的想法(详见:),他建议通过向 java 平台和 jdk 引入静态运行时映像的概念来解决以上痛点。


  • 静态映像是一个独立的程序,从一个应用程序和一个运行该应用程序的 jdk 派生出来的 ,而不是其他的。

  • 静态映像相对于它可以加载的类来说是一个封闭的世界:在运行时,它不能从映像外部加载类,也不能动态创建类。

 

封闭世界约束对 java 的自然活力施加了严格的限制,尤其是对许多现有 java 库和框架所依赖的运行时反射和类加载功能。并非所有应用程序都非常适合此约束,也不是所有开发人员都愿意接受它。

 

因此,与其在一开始就采用封闭世界的约束,mark reinhold 建议采取一种循序渐进的方法——探索一系列比封闭世界的约束更弱一些的约束,找出它们能够实现哪些优化。几乎可以肯定的是,由此产生的优化会比封闭世界约束所实现的优化弱。但是,正因为约束较弱,这些优化才有可能适用于更广泛的现有代码,那么,它们也将对更多开发人员更有用。

 

mark reinhold 表示,他们将沿着这些约束范围逐步工作,从小而简单的开始,以便能够深入了解 java 平台规范所需的更改。当然,在此过程中,他们将努力保持 java 的可读性、兼容性和通用性的核心价值。

 

他们将大量依赖 jdk 的现有组件,包括 hotspot jvm、c2 编译器、应用程序类数据共享 (cds) 和 jlink 连接工具。

 

“从长远来看,我们可能会接受完全封闭世界的约束,以产生完全静态的图像。但是,从现在到那时,我们将开发和提供渐进式改进,开发人员可以尽早使用。”mark reinhold 最后写道。

 

2022 年 5 月 21 日 02:283392

评论

发布
暂无评论
发现更多内容
网站地图