Leyden项目将静态图像引入Java平台和JDK

一个讨论调用 Java平台组在Oracle,马克莱因霍尔德的首席架构师发行,勾画出一个新的项目,项目莱顿,这将解决Java的缓慢启动时间长期的痛点,慢的时候峰值的建议通过向Java平台和JDK引入静态映像来提高性能和占用大量资源。

Java中的静态图片

Reinhold将静态映像描述为“从应用程序派生的独立程序,运行该应用程序,而没有其他程序”,并称为“封闭世界:它不能从映像外部加载类,也不能在运行时旋转新的字节码”时间。” 静态映像并不适合所有人,但对于相关的用例,这些约束条件允许进行构建时分析,以删除未使用的类并标识可在构建时运行的类初始化程序,从而减少了图像的大小及其启动时间。 这些限制还允许进行积极的提前编译,从而大大减少了图像达到峰值性能的时间。

静态映像通常需要手动配置才能充分利用它们,但是对于小型嵌入式设备或基于云的应用程序(如微服务),这种耐心将通过大大提高的性能得到回报。

还请参见:

莱顿计划

这个新项目将从过去的努力中获得启发,例如针对JavaGNU编译器GraalVM的本机映像功能 。 Reinhold写道:“ Leyden将为Java平台规范添加静态图像,我们希望GraalVM能够发展为实现该规范。 然后,仅使用标准的,指定的静态图像功能的开发人员将能够在Leyden(在JDK中),Native Image(在GraalVM中)以及可能出现的任何其他兼容实现方式之间进行切换,从而在编译时间的权衡之间进行选择,启动时间和图片大小。”

Reinhold在Twitter上表达了他对GraalVM团队为莱顿计划做出贡献的热情。

但是,其目的不是通过将GraalVM的本机映像代码合并到JDK中来实现Leyden。 相反,Leyden将基于现有的JDK组件构建,例如HotSpot JVM, jaotc AOT编译器应用程序类数据共享jlink链接工具

还请参见:

自从该提案于4月27日星期一发布以来,最初的反馈一直非常积极,尽管有些人提出,在Java平台规范中实现静态图像可能很困难。

Leyden项目将作为一系列涵盖多个Java版本的JEP交付。

翻译自: https://jaxenter.com/project-leyden-static-images-java-platform-jdk-171537.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值