JDK 16 即将发布,新特性速览!

我是小傅哥 2021-01-05 09:51:05 ⋅ 573 阅读

来源:CSDN资讯

blog.csdn.net/csdnnews/article/details/110483909

你还能追上 Java 的更新速度吗?

当开发者深陷 Java 8 版本之际,这边下一版本 Java 16 有了最新的消息,与 Java 15 一样,作为短期版本,Oracle 仅提供 6 个月的支持。

根据发布计划,JDK 16 将在 12 月 10 日和 2021 年 1 月 14 进入 Rampdown 阶段,2021 年 2 月 4 日到 2 月 18 日进入发布候选阶段。最终版本预计于 2021 年 3 月 16 日正式发布。

日前, JDK 16 揭晓了即将到来的新功能,接下来,我们将一睹为快:

  • 以前在 JDK 15 中预览的密封类和接口限制其他类和接口可以扩展或实现它们。该计划的目标包括,允许类或接口的作者控制负责实现它的代码,提供比访问修饰符更声明性的方式来限制超类的使用,以及通过提供模式分析的基础来支持模式匹配的未来方向。

  • 默认情况下,对 JDK 内部进行强封装,但关键内部 API(如 misc.Unsafe ) 除外。用户可以选择自 JDK 9 以来默认的宽松强封装。此建议的目标包括提高 JDK 的安全性和可维护性,作为项目 Jigsaw 的一部分,并鼓励开发人员从使用内部元素迁移到使用标准 API,以便开发人员和最终用户都可以轻松地更新到未来的 Java 版本。

  • 外部链接程序 API,提供静态类型、纯 Java 对本机代码的访问。此 API 将在 JDK 16 中处于孵化器阶段。

  • 将 ZGC(Z 垃圾收集器)线程堆栈处理从安全点移动到并发阶段。此计划的目标包括从 ZGC 安全点中删除线程堆栈处理。

  • 弹性元空间功能,它将可以更迅速地将未使用的 HotSpot VM 类元数据(元空间)内存返回到操作系统,减少元空间占用空间并简化元空间代码以降低维护成本。

  • 启用 C++ 14 语言功能,允许在 JDK C++ 源代码中使用C++ 14功能,并提供有关部分功能可用于 HotSpot VM 代码的特定指导。

  • 孵化器阶段的向量 API,其中 JDK 将安装一个孵化器模块,用于表示编译为支持的 CPU 体系结构上的最佳矢量硬件指令的矢量计算,以实现与等效标量计算更高的性能。

  • 将 JDK 移植到 Windows/AArch64 平台。随着新的服务器级和使用者 AArch64 (ARM64) 硬件的发布,Windows/AArch64 已成为一个重要的平台。

  • 在 x64 和 AArch64 体系结构上,将 JDK 移植到 Alpine Linux 和其他使用 musl 作为主 C 库的 Linux 发行版。Musl 是 ISO C 和 Posix 标准中描述的标准库功能的 Linux 实现。由于云部署、微服务和容器环境,Alpine Linux 由于其映像大小较小,因此被广泛采用。

  • 为不可变数据提供充当透明载体的记录类。

  • 增加 Unix 域套接字通道,其中 Unix 域 (AF_UNIX) 套接字支持添加到 nio.channels 包中的套接字通道和服务器套接字通道 API 中。该计划还扩展了继承的通道机制,以支持 Unix 域套接字通道和服务器套接字通道。Unix 域套接字用于同一主机上的进程间通信。它们在很多方面与 TCP/IP 套接字类似,只是它们由文件系统路径名称而不是 IP 地址和端口号寻址。新功能的目标是支持 Unix 域套接字通道的所有功能,这些功能在主要 Unix 平台和 Windows 中很常见。

  • 一种外部存储器访问 API,允许 Java 程序安全地访问 Java 堆以外的外部存储器。这一功能将在 JDK 16 中重新孵化。优化的目标包括提供单个 API 以对各种外部存储器(包括本机、持久和托管堆内存)进行操作,API 不应破坏 JVM 的安全性。此外,许多 Java 程序应访问外部存储器,如Lgnite、Memcached 和 MapDB。但是 JavaAPI 不能提供令人满意的访问外部内存 .MemorySegmentMemoryAddresses 的解决方案。

  • 用于运算符的模式匹配(该功能也在 JDK 14/15 版本中实现了预览)。在 JDK 16 上,模式匹配允许程序中的通用逻辑,即从对象中提取组件,可以更简洁、更安全地表达.instanceof 运算符。

  • 提供用于打包独立的 Java应用程序 jpackage 工具。最初作为 JDK 14 中的孵化工具,jpackage在 JDK 15中仍然处于孵化期。预计到 JDK 16 版本,jpackage 将会进入生产环境中,支持本地包格式,并为用户提供流畅的安装体验,以及允许在打包时指定启动时间参数。格式包括 Windows 上的 msi 和 exe、 MacOs 上的 pkg 和 dmg、以及 Linux 上的 deb 和 rpm 。该工具可以直接从命令行调用,也可以以编程方式调用。新的打包工具解决了许多 Java 应用程序需要以一流的方式安装在本机平台上,而不是放置在类路径或模块路径上等问题。

  • OpenJDK 源代码存储库从 Mercurial 迁移到 Git。推动这项工作是借助版本控制系统元数据和可用工具及托管方面的优势。

  • 借助 JEP 369,托管平台迁移到 GitHub。在今年 9 月 5 日,Mercurial JDK 和 JDK 沙盒向 Git、GitHub 和 Skara 的过渡工作已实现。

继 Java 16 之后,Java 17 将于 2021 年 9 月发布,这是长期支持(LTS)版本,因此身处研发前线的开发者可以再等等。对此,你期待新版 Java 的到来吗?

参考链接:https://www.infoworld.com/article/3569150/jdk-16-the-new-features-in-java-16.html


全部评论: 0

    我有话说:

    JDK11即将来临,特性了解一下

    预计 JDK 11 将于 9 月 25 日正式发布,可用于正常使用。

    Java 14 有了这几个特性,开发直接飞起来!

    内容介绍: Record -- 简化了简单 Java 类的创建。 Pattern Matching -- 简化了 instanceof 。 Switch 表达式 -- 简化了 switch 语句。 NullPointerExcep...

    Java 实战篇-JDK9特性体验

    JDK9 已经出来好几个月了,我们一起来了解一下JDK9的一些特性

    Android 12 开发者预版 2.2 发布

    上月底,Google 发布了 Android 12 DP 2.1,解决了 WebView 崩溃的大问题。目前,开发者预版 2.2 已经向运行 Android 12 的 Pixel 手机正式推出

    Android 12 最后一个开发者预发布

    谷歌已经发布了 Android 12 的第三个开发者预版,这也是最后一个以开发者为中心的构建版本。第一个 Android 12 测试版将在 5 月到来,第二个和第三个测试版构建则将在 6 月至 7

    红旗 Linux 桌面系统发布 v11版,1月10日开放下载

    近日,国产操作系统红旗 Linux 官网上线最新的红旗 Linux 桌面操作系统 v11 社区预版,更新内容包括多项组件更新和全新的主题界面等。 据悉,最新的红旗 Linux 桌面系统 v11

    Spring Boot 2.1.0特性 ,准备好了吗?!

    Spring Boot官方在10月30号正式发布了v2.1.0.RELEASE版本,由于本人最近比较忙,直到今天才着重抽空学习和了解这次升级一共带来了9大特性,根据官方描述,正在逐渐支持 java

    Spring Framework 5.3.3 发布,初步支持 JDK 17

    Spring Framework 5.3.3 现已发布。Spring Framework 是一个分层应用程序框架,可在任何类型的部署平台上为基于 Java 的现代企业应用程序提供

    dubbogo v1.5.6 发布,性能提升并带来多项特性

    dubbogo 社区近期发布了 dubbogo v1.5.6。该版本和 dubbo 2.7.8 对齐,提供了命令行工具,并提供了多种加载配置的方式。 相关改进实在太多,本文只列出相关重大

    MySql 8 特性 - CTE 通用表表达式(先睹为快)

    前言Mysql 8 正式发布了,新增了很多优秀特性,之后我会挑些重点来分享。下面和大家一起熟悉下 CTE......

    Spring Framework 5.3.4 和 5.2.13 发布

    Spring Framework 5.3.4 和 5.2.13发布,5.3.4 版本包括 62 项修复和改进,5.2.13 包含 18 项修复和改进。具体如下。 v5.3.4 部分特性

    红旗 Linux 桌面操作系统 V11 社区预版开放下载

    红旗 Linux 桌面操作系统 V11 社区预版已正式开放下载。 获取地址 红旗云盘:http://pan.chinaredflag.cn/d/b16eaefee1c845bc853f/百度网盘

    Visual Studio 2019 v16.9 Preview 3 发布

    Visual Studio 2019 v16.9 Preview 3 已经发布,这是其 2021 年的第一个预版。此次更新涉及 C++、.NET 生产力、测试资源管理器、辅助功能和

    Druid 1.2.4 版本发布,增强 SQL Parser,支持 JDK8 日期类型

    Druid 1.2.4 版本现已发布,这个是一个小的 bug 修复版本,修复了一系列 SQL Parser 的问题,增强对 JDK 8 的支持。 Issues SQL Parser 增强对

    nginx 1.19.7 主线版发布

    nginx 1.19.7 主线版已发布,此版本带来了部分变更和特性,以及 bugfix,具体如下: 变更:HTTP/2 中对连接的处理经过修改可更好地匹配 HTTP/1.x;"http2

    Bootstrap 图标集 v1.2.0 发布-包含数十个图标

    我们最新的 Bootstrap Icons 发布版包含数十个图标、重新设计的文档和呼声最高的特性 —— 图标字体! 的社交网络图标 我们的社交图标工作一开始比较慢 —— 人们可能只

    Visual Studio 2019 v16.10 Preview 2 发布

    Visual Studio 2019 v16.10 Preview 2 现已发布。这个版本延续了开发者生产力和便利性的主题,并增加了 C++20 支持、IntelliSense 补全、用于检查继承链

    Tengine 2.3.3 即将发布,阿里巴巴开源的轻量级 Web 服务器

    Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的