写点什么

Oracle 启动 Leyden 计划,下决心解决 Java 启动慢等长期痛点

  • 2022-05-21
  • 本文字数:885 字

    阅读完需:约 3 分钟

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 最后写道。

 

2022-05-21 02:285502

评论

发布
暂无评论
发现更多内容

没有自信的人,才会在意别人的评价

小天同学

心理 日常思考 个人感悟 4月日更 自信

白皮书:区块链将成隐私计算产品必选项,提供三方面助力

CECBC

区块链

区块链电子证据的司法应用现状与展望

CECBC

全网最强的权限系统设计攻略:京东北极星商业系统权限管控实践

学Java关注我

Java 编程 程序员 架构 技术宅

《采访阿里“守护神”吴翰清:安全攻防-采访提纲》

Geek_6370d5

专访声网首席资深iOS研发工程师龚宇华:从自学计算机到高级架构师

黑马腾云

专访

实体经济与数字经济加速融合 中国经济新动能快速成长

CECBC

数字经济

HBase HA 分布式部署

Fong

大数据 运维 HBase hadoop3

如何做好前馈管理?

石云升

28天写作 职场经验 管理经验 4月日更

为什么 Serverless 将推动边缘计算的革命

公众号:云原生Serverless

Serverless 边缘计算

炫彩无界,性能怪兽,M1 扛鼎未来 —— 2021 年 Apple 春季新品发布会全记录

清秋

产品 苹果 硬件 新闻

重读《重构2》- 以对象取代基本类型

顿晓

重构 4月日更

如何从零开始学Python:(4)如何处理列表数据?

广之巅

Python 4月日更

分库分表笔记

luojiahu

分库分表

【采访融云CTO杨攀:2021如何让融云迈向更高舞台】(采访)

洛神灬殇

融云 杨攀

网络安全传奇吴翰清采访提纲 |调查采访能力考核

清秋

网络安全 签约计划 调查采访能力考核

Spring Boot 2.0 实现优雅停机

U2647

Spring Boot 4月日更

用户故事是垂直的切片(译)

Bruce Talk

敏捷 译文 Agile User Story

Properties类使用需要注意的坑

风翱

properties 4月日更

python内置数据结构list、set、dict、tuple(一)

若尘

List 数据结构 set 字典 Python编程

《专访彩食鲜CTO乔新亮:体系的重要性》(采访提纲)

花花

调查采访能力考核

翻译:《实用的Python编程》TheEnd

codists

Python

专访吴翰清 || 如何用网络安全保障个人隐私

Bob

网络安全 个人隐私 调查采访能力考核

Golang 并发

escray

学习 极客时间 Go 语言 4月日更

禁止算法识别性别,能消解歧视吗?

脑极体

Ansible 配置

耳东@Erdong

4月日更

浅谈Javascript中的forEach和map之间的区别

devpoint

遍历 foreach map reduce

架构实战营 模块2作业

CR

用户故事拆分招数全景图(译)

Bruce Talk

敏捷 译文 Agile User Story

今年我读了四个开源项目的源码,来分享下心得

yes

源码

不忘初心,砥砺前行|暨InfoQ写作平台一周年

程序员架构进阶

28天写作 4月日更 1 周年盛典 我和写作平台的故事 InfoQ 写作平台 1 周年

Oracle 启动 Leyden 计划,下决心解决 Java 启动慢等长期痛点_语言 & 开发_邓艳琴_InfoQ精选文章