暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle JDK 23 发布,官方提供支持6个月

通讯员 2024-09-19
135

2024年9月17日,甲骨文发布了 Java 23 (Oracle JDK 23),与其现在确立的六个月节奏保持一致。

没有人应该对此感到惊讶,因为可预测性是计划的一部分。使用 Java 应用程序的企业客户不想感到惊讶。

“我们每六个月(3 月和 9 月)都会发布一次,”Oracle Java 开发者关系副总裁 Chad Arimura 告诉 The Register。“而且进展非常顺利。

“事实上,正如 Georges [Saab,Java 平台组开发高级副总裁] 喜欢说的那样,最初非常怀疑的人,甚至他自己的工程组的人也对这是否可能持怀疑态度。

“我们已经走过了 7 年,我的意思是,人们经常听到这是 Java 发生的最好的事情。”

这并不是说没有新奇之处。Java 23 包含 12 个 JDK 增强提案 (JEP),它们为编程语言添加了新功能,更不用说错误修复、安全改进和其他调整。

本着谨慎的精神,其中许多 JEP 都以预览版的形式呈现,以纳入社区反馈,以便在后续版本中进行修订。

例如,隐式声明的类和实例主方法 (JEP 477) 显示为第三个预览。它基于 JDK 21 中预览的 JEP 445 和 JDK 22 中的 JEP 463 构建,旨在通过减少代码需求,使 Java 代码对新手来说更易于使用。目标是使简单的 “Hello, World!” 程序易于编写。

“隐式声明的类......使编写您的第一个程序变得更加简洁,“Arimura 说。“但不仅仅是你的第一个项目。我整天都用它来做演示。

让 Java 对新手来说更易上手对 Java 生态系统的健康很重要,因为 Python 和 JavaScript 等其他语言作为学生的第一编程语言已经变得越来越普遍

Oracle 仍然热衷于提醒人们,Java 是“当今技术趋势的 #1 语言”——但没有定义这些趋势——以及“企业/IT 组织整体使用的 #1 语言”。

根据 GitHub 上的拉取请求,GitHut 2.0 项目将 Java 排在第二位,仅次于 Python。根据 GitHub 的星级数据,Java 排名第五,仅次于 Python、JavaScript、Go 和 C++。

Java 23 是一个功能版本,有资格获得 Oracle 提供的六个月支持。下一个 LTS 版本是 Java 25,支持 8 年,将于 2025 年 9 月发布。

除了上述 JEP 477 之外,Java 23 附带的 JEP 还包括:

Arimura 说,Oracle 的 Java 团队一直关注的一件事是默认完整性,这项工作涉及使内部私有 API 的使用变得更加困难。

“人们通常会这样做,”Arimura 解释说,“我们真的在努力继续让人们使用公开的替代 API。

这样做有助于提高 Java 平台的安全性。按照这些思路,JEP 471 弃用了不安全的内存访问方法,为最终的删除做准备。Arimura 表示,除其他外,其他项目是通过 Panama 项目提供的。

Arimura 说,很难为该语言选择最喜欢的新成员,但指出 JEP 474,ZGC(Z Garbage Collector)现在默认为分代模式,这意味着它可以更有效地管理不同老化的对象。

他还对 JEP 476 表示赞赏。“我是一个语言爱好者,所以像模块导入声明这样的事情使得通过一行代码而不是七行或八行代码或导入点星形包来导入模块导出的所有包变得更加容易,”Arimura 说。

Graal JIT(即时)编译器现在包含在 Oracle JDK 23 的 JIT 中,以前只能通过 GraalVM 使用。

“从 JDK 23 开始,Oracle JDK 将包括 Graal JIT,”产品管理副总裁 Donald Smith 说。“我喜欢这样想,它有点像开发人员或系统管理员可以访问不同的垃圾回收器,具体取决于他们正在处理的工作负载类型。我们也将 Graal JIT 作为开发人员的一个选项。在某些工作负载中,Graal JIT 会更快,尤其是在启动时,尤其是在创建大量对象时。

但是,GraalVM 仍将是一个单独的 JDK 下载。Smith 说:“如果你想使用原生映像、预先编译,如果你想使用 Graal 多语言功能,那么如果你试图将应用程序与 JavaScript 或 Scala 或类似的东西放在一起,或者对这些语言使用预先编译,你仍然可以使用单独的 GraalVM 进行 JDK 下载。“对于那些想要了解 Graal JIT 是否有助于他们自己的应用程序的人来说,这一切都是为了方便。”

Arimura 解决了在最近的一次电话会议上提出的担忧,即预览版 JEP 的大部分是否反映了平台开发的放缓。

“我停顿了一分钟,因为我觉得这真的很重要,我认为团队中的其他人,这实际上是一个指标,表明事情进展得非常快,但要迅速、深思熟虑,确保我们通过预览系统来获得反馈,确保他们把设计放在那里。”“他说。

“我们认为他们已经完成了 99%,但我们希望确保人们认识到他们可能会改变,我们希望获得某种最后的反馈,并在他们成为最终结果之前对其进行改进,因为如果他们成为最终结果,他们将在很长一段时间内保持这种状态。”

似乎是为了表明 Java 的活力,JavaOne 是一个由社区运营的开发者活动,在中断两年后,将于 2025 年 3 月 17 日至 20 日在旧金山湾区举行。®

文章转载自通讯员,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论