把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

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:286084

评论

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

看头部银行保险企业如何释放数智生产力|数智新金融论坛精彩回顾

Kyligence

数智化 Kyligence Copilot

Java break语句详解!

java易二三

Java 编程 计算机 break 循环

快速玩转 Llama2!阿里云机器学习 PAI 推出最佳实践(三)——快速部署 WebUI

阿里云大数据AI技术

人工智能

716作业

天天向上

从零构建医疗领域知识图谱的KBQA问答系统

汀丶人工智能

人工智能 知识图谱 智能问答

搜索业务广告、Youtube超预期,云计算收入增长Google没败给微软

B Impact

2023-07-27:最长可整合子数组的长度, 数组中的数字排序之后,相邻两数的差值是1, 这种数组就叫可整合数组。 给定一个数组,求最长可整合子数组的长度。

福大大架构师每日一题

福大大架构师每日一题

Dify.AI:46,558 行代码,完全开源

Dify

开源 AI LLMOps

openGauss内核分析(六): 执行计划生成

daydayup

openGauss内核分析(七):SQL by pass & 经典执行器 (二)

daydayup

Java 命令行参数解析方式探索(三):Picocli

冰心的小屋

Java 命令行 console Parameter Picocli

Docker学习路线13:部署容器

小万哥

Java c++ Python Go Docker

向量数据库这杯“啤酒”与“泡沫”

脑极体

AI 向量数据库

零代码,使用 Dify 两分钟接入企业微信 AI 机器人

Dify

开源 AI LLMOps

AIRIOT可视化组态引擎如何应用于物联业务场景中

AIRIOT

助力企业出海!TDengine Cloud 正式入驻 AWS Marketplace

爱倒腾的程序员

时序数据库

openGauss内核分析(七):SQL by pass & 经典执行器 (一)

daydayup

719作业

天天向上

新功能 – Cloud WAN:托管 WAN 服务

亚马逊云科技 (Amazon Web Services)

Amazon VPC

使用Cloud Studio&Flutter完成全平台博客网站的搭建

坚果

flutter Cloud Studio

openGauss内核分析(十):数据库索引的创建过程

daydayup

基于新浪微博海量用户行为数据、博文数据数据分析:包括综合指数、移动指数、PC指数三个指数

汀丶人工智能

数据挖掘 机器学习 数据分析

前端服务化和小程序容器技术的应用

没有用户名丶

火山引擎DataLeap的Data Catalog系统公有云实践 (下)

字节跳动数据平台

数据库 数据中台 数据治理 数据安全 企业号 7 月 PK 榜

直播平台源码开发提高直播质量的关键:视频编码和解码技术

山东布谷科技

软件开发 直播 视频编解码 源码搭建 直播平台源码

C++实现哈希桶

芯动大师

Java零基础适合看的5本书!

java易二三

Java 编程 教学 新手入门

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