关于java:Java-16-发布包括-17-项新功能使编程语言对云更友好

4次阅读

共计 2332 个字符,预计需要花费 6 分钟才能阅读完成。

甲骨文发表 Java 开发工具包(JDK)16 全面上市,它是 Java 16 编程语言标准的参考实现。

最新 Java 版本中的 17 个新性能进步了内存治理和开发人员的工作效率,并缩小了样板代码。

17 项性能更新,使编程语言对云更敌对

Oracle JDK 16 将是一个短期反对版本,它将在 9 月的 Java 17 长期反对(LTS)版本之后淘汰,然而它附带了很长的加强和降级列表。

最新 JDK 的加强性能包含一个用于打包自蕴含 Java 应用程序的新打包工具。降级了内存治理以进步性能;其余孵化和预览性能;旨在解决未来不兼容的代码的加强性能;JDK 到 Alpine Linux 和其余 Linux 发行版的新端口;通过减少对次要 UNIX 平台和 Windows 通用的 UNIX 域套接字的所有性能的反对,以及改良的网络,以进步开发人员的生产力和灵活性。

Java 16 还实现了 instanceof 和 Records 的模式匹配,这是 Java 14 中首次预览的语言加强性能。

以下是 Java 16 此版本中的性能的残缺列表。

其中两个新性能旨在通过解决内存治理来进步性能:

  • JEP 387:Elastic Metaspace 能够更快地将未应用的 HotSpot 类元数据内存返回给操作系统,缩小元空间的占用空间,并简化元空间代码以升高保护老本。
  • JEP 376:ZGC:并发线程栈解决将 ZGC 线程栈解决从平安点移至并发阶段,以打消容许并发栈解决的重大瓶颈。

JEP 392:是一种打包工具,用于打包自蕴含的 Java 应用程序并进步开发人员的生产率。

四个 JEP 处于孵化器或预览阶段:

  • JEP 338:Vector API(孵化器)提供了孵化器模块 jdk.incubator.vector 的初始迭代,以表白向量计算,该向量计算在运行时牢靠地编译为反对的 CPU 架构上的最佳向量硬件指令。
  • JEP 389:内部链接程序 API(孵化器)引入了一种 API,该 API 提供了对本地代码的动态类型的纯 Java 拜访。
  • JEP 393:内部存储器拜访 API(第三孵化器)引入了一种 API,以容许 Java 程序平安无效地拜访 Java 堆内部的内部存储器。
  • JEP 397:密封类(第二预览)通过密封类和接口加强了 Java 编程语言。

这三个 JEP 代表对 OpenJDK 贡献者的改良:

  • JEP 347:启用 C ++ 14 语言性能(在 JDK 源代码中)容许在 JDK C ++ 源代码中应用 C ++ 14 语言性能,并提供无关能够在 HotSpot 代码中应用的性能的指南。
  • JEP 357:从 Mercurial 迁徙到 Git 会将 OpenJDK 社区的源代码存储库从 Mercurial(hg)迁徙到 Git。
  • JEP 369:迁徙到 GitHub 并在 GitHub 上托管 OpenJDK 社区的 Git 存储库。

两个 JEP 创立了新端口,以在更多平台上提供对 Java 的反对:

  • JEP 386:Alpine Linux 端口将 JDK 移植到 Alpine Linux 以及其余应用 musl 作为 x64 和 AArch64 体系结构上的次要 C 库的 Linux 发行版。
  • JEP 388:Windows / AArch64 端口将 JDK 移植到 Windows / AArch64。

其余新性能包含:

  • JEP 380:UNIX 域套接字通道在 java.nio.channels 包中的套接字通道和服务器套接字通道 API 中减少了对次要 UNIX 平台和 Windows 通用的 UNIX 域套接字的所有性能的反对。
  • JEP 396:默认状况下,强封装 JDK Internals 通过默认封装 JDK 的大多数外部元素(除了诸如 sun.misc.Unsafe 之类的要害外部 API)来增强对新外部 API 元素的束缚。
  • JEP 390:基于值的类的正告将原始包装器类指定为基于值的,并弃用其构造函数以进行删除,从而提醒新的弃用正告。它还提供无关在 Java 平台中不正确尝试在任何基于值的类的实例上进行同步的正告。
  • JEP 394:instanceof 的模式匹配。此性能的指标是加强 instanceof 运算符上的模式匹配性能。依据 OpenJDK 团队的说法,模式匹配容许简洁,平安地表白通用逻辑。
  • JEP 395:Records 是能够充当“不变数据的通明载体”的类,OpenJDK 团队解释说。它们有助于对数据聚合进行建模。

新版本已进行多轮社区反馈,新性能建设在 Java 的根本劣势上

Oracle JDK 16 使 Java 开发人员能够更轻松地将编程语言与 API,微服务和其余云技术一起应用。此版本使记录和模式匹配脱离预览。据 Oracle 称,此版本中的这两个 JDK 加强倡议和其余 15 个 JEP 进步了开发人员的生产力和应用程序性能。

甲骨文 Java 开发人员关系副总裁 Chad Arimura 示意,这些新性能建设在 Java 的根本劣势(易用性,可靠性,安全性和平台独立性)的根底上,同时使该语言更易于在云部署中应用。

甲骨文公司 Java 平台事业部开发副总裁 Georges Saab 称,模式匹配和 Records 曾经依据理论应用程序进行了多轮社区反馈。

Arimura 示意,绝对较新的每年两次的公布时间表对于 Java 作为一个生态系统和平台来说是一件坏事。他说:“当软件须要破费数年的工夫能力公布时,旧的办法就能够失常工作,然而现在,它变得更加麻利,而 Java 必须与麻利交付相匹配。”

Arimura 介绍到,新版本比该语言的晚期迭代要小,然而对于那些为代码胜利做出奉献的供应商和集体来说,更容易反对新版本。他还说:“将新版本引入部署管道更容易。”“咱们正在走向一个容易说 ’ 我能够依附 Java 的下一版本 ’ 的世界。”

参考链接:

https://www.silicon.es/oracle…
https://www.techrepublic.com/…
https://www.zdnet.com/article…

正文完
 0