JDK 17:Java 17有何新看点?

译文
开发 后端
Java长期支持版定于9月发布,提议采用新的MacOS渲染管道和用于伪随机数生成器的统一API。

 

[[391464]]

【51CTO.com快译】虽然要到9月才发布,但Java 17已经开始成形,正考虑为标准Java的升级版添加四项提议的新功能。截至3月30日最近添加的功能包括:MacOS/AArch64移植版和弃用Applet API。这些遵循2月针对新的MacOS渲染管道和增强版伪随机数生成器的提议。

Java开发工具包(JDK)17将是长期支持(LTS)版本,预计Oracle会提供数年的扩展支持。

OpenJDK JDK 17的部分功能包括如下:

  • 将JDK移植到MacOS/AArch64,以响应苹果将Macintosh计算机从x64改为AArch64的计划。已经有面向Linux的Java AArch64移植版,正在开发面向Windows的移植版。Java构建者希望通过使用条件编译来重用来自这些移植版的现有AArch64代码,就像JDK移植版的常规做法一样,以适应低级约定方面的差异,比如应用程序二进制接口和保留的处理器寄存器集。针对MacOS/AArch64的更改可能会破坏现有的Linux/AArch64移植版、Windows/AArch64移植版和MacOS/x64移植版,但是可以通过预集成测试来降低这种风险。
  • Applet API由弃用变为删除。该API实际上无关紧要,因为所有Web浏览器供应商已删除了对Java浏览器插件的支持,或已宣布计划这么做。Applet API之前于2017年9月在Java 9中被弃用,但并未被删除。
  • 新的MacOS渲染管道,使用Apple Metal API以替代使用被弃用的OpenGL API的现有管道。该提议旨在为使用MacOS Metal框架的Java 2D API提供一条功能全面的渲染管道,万一苹果从未来版本的MacOS中删除OpenGL API,可以准备就绪。该管道旨在功能上与现有的OpenGL管道相当,在某些应用程序和基准测试中的性能一样好或更好。将创建适合当前Java 2D模型的干净架构。管道将与OpenGL管道共存,直到过时。提案的目的并不是添加任何新的Java或JDK API。
  • 增强版伪随机数生成器,将为伪随机数生成器(PRNG)提供新的接口类型和实现,包括可跳转的PRNG和可拆分PRNG算法的额外类(LXM)。新的接口RandomGenerator将为所有新旧PRNG提供统一的API。将提供四个专门的RandomGenerator接口。Java中伪随机数生成这方面有多个方面需要改进,激励这项计划是它们关注的重心。这项工作不需要提供其他许多PRNG算法的实现,但是添加了三种常见算法,这些算法已广泛部署在其他编程语言环境中。这项计划的目标包括如下:
  1. 更容易在应用程序中互换使用各种PRNG算法。
  2. 改进了对基于流的编程的支持,并提供PRNG对象流。
  3. 消除现有PRNG类中的代码重复。
  4. 保留类java.util.Random的现有行为。

在今后几个月,可能会为JDK 17提议更多的功能。可能包括外来链接程序API、向量API和外来存储器访问API,所有这些功能目前都在3月发布的JDK 16版本中的孵化器阶段中。JDK 16第二个预览版中的密封类可能会在JDK 17中正式提供。模式匹配也可能是JDK 17提案的重点。

JDK 17的正式发布日期定为9月14日。生产版本发布之前,会有6月和7月的精简阶段以及8月的发行候选版本。可以在jdk.java.net找到JDK 17的抢先体验开源版本。

LTS版本(比如JDK 17)每三年发布一次。上一个LTS版本JDK 11已于2018年9月发布。Java的新版本每六个月发布一次。标准Java的当前版本是JDK 15。

原文标题:JDK 17: What’s in store for Java 17,作者:Paul Krill

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

责任编辑:华轩 来源: 51CTO
相关推荐

2017-07-03 10:53:00

戴尔散热全机柜

2021-09-28 10:37:50

LayUI JDK

2012-05-18 14:36:50

Fedora 17桌面环境

2021-09-16 10:25:38

Java 17开发者回收器

2024-08-26 09:36:06

2024-01-26 08:33:14

JDK17JDK11版本

2023-06-29 07:54:19

2023-05-17 08:20:34

Java 17编程语言

2023-11-29 14:20:16

iOS 17Bug苹果

2024-04-24 10:31:20

PostgreSQL数据库

2023-11-13 16:29:02

iOS 17苹果

2023-06-05 18:43:41

GC回收器JDK

2012-05-21 14:16:36

Fedora17新特性

2017-12-05 15:34:06

Unix操作系统编程

2021-05-21 09:34:40

React React 17前端

2024-02-04 15:58:53

C++ 17编程代码

2023-05-10 09:02:25

Java 8JDK 11

2023-05-29 08:43:46

SpringJava

2022-09-22 07:03:15

Java 18LTSOracle

2022-11-08 07:46:28

record类声明代码
点赞
收藏

51CTO技术栈公众号