Leyden项目解决了Java的痛点

Oracle Java平台组首席架构师Mark Reinhold在OpenJDK社区中提出一项建议,可以解决Java的长期痛点,包括启动时间慢,达到峰值性能的时间慢和占用大量内存。

该提案称为Leyden项目,它将通过向Java平台和JDK引入静态图像的概念来解决这些难题。 静态映像是一个独立的程序,它是从运行该应用程序的应用程序派生而来的,而不是其他任何程序。 静态映像也是一个“封闭世界”,无法在映像外部加载类或在运行时旋转新的字节码。

[ 同样在InfoWorld上:API可以享有版权吗? 7个理由和7个反对 ]

这两个限制使构建时分析可以删除未使用的类并标识可以在构建时运行的初始化程序,从而减少了运行时映像的大小及其启动时间。 这些限制还可以进行积极的提前编译,从而减少了图像达到峰值性能的时间。

但是,Reinhold警告说,由于封闭世界的限制,静态图像不是所有人,也不是针对每种类型的应用程序。 通常,静态图像需要手动配置才能获得最佳效果。 “但是,我们确实希望在重要的部署方案(例如小型嵌入式设备和云)中获得有价值的结果,” Reinhold写道

从过去探索该空间的努力(包括用于Java的GNU编译器和用于GraalVM的本机映像)中获得灵感,Project Leyden会将静态映像添加到Java平台规范中。 预计GraalVM将发展为实现该规范。 这样,仅使用标准的特定静态图像功能的开发人员就可以在JDK中的Leyden,GraalVM中的Native Image以及可能出现的其他兼容实现之间轻松切换。 他们可以在编译时间,启动时间和图像大小之间进行权衡。

负责该项目的Reinhold表示,没有意图通过将GraalVM中的本机映像代码合并到JDK中来实现Leyden。 相反,Leyden将基于JDK中的现有组件,例如HotSpot JVM,Java提前编译器(jaotc),应用程序类数据共享和jlink链接工具。

Reinhold于4月27日启动了对该项目的讨论。在OpenJDK邮件列表上表达的对该项目的最初反馈是混合的,有人建议将静态图像添加到Java Platform Specification中比较困难,同时还指出该项目很有趣。和欢迎。 另一个人说他很高兴看到该建议,因为在使用Java进行微服务时,优化性能和内存占用所需要的时间一直是用户的主要抱怨。 另一位评论者说,这似乎是进行此类项目的合适时机。

[ 同样在InfoWorld上:远程敏捷团队的7个最佳实践 ]

Leyden项目将从当前JDK主线版本JDK 15的克隆版本开始,并跟踪前进的主线版本。 Leyden将通过一系列可能跨越多个版本的JEP(JDK增强建议)来交付。

From: https://www.infoworld.com/article/3540709/project-leyden-addresses-java-pain-points.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值