JDK 16 GA 发布,你还停留在JDK 8吗?
共 2113字,需浏览 5分钟
·
2021-03-18 22:23
3 月 16 日,OpenJDK 官网如期公布了 JDK 16 GA 版本。与 Java 15 一样,该版本的支持时间只有 6 个月。
GA 是指 General Availability,也就是官方开始推荐可以广泛使用的版本。
官网截图
该版本一共进行了 17 项更新,涉及新特性改进、新工具、孵化功能等,具体有哪些更新,我们一起来看下:
Vector API
孵化器阶段的向量 API,其中 JDK 将安装一个孵化器模块,用于表示编译为支持的 CPU 体系结构上的最佳矢量硬件指令的矢量计算,以实现与等效标量计算更高的性能。
启用 C++ 14 语言功能
允许在 JDK C++ 源代码中使用C++ 14功能,并提供有关部分功能可用于 HotSpot VM 代码的特定指导。
OpenJDK 源代码存储库从 Mercurial 迁移到 Git
推动这项工作是借助版本控制系统元数据和可用工具及托管方面的优势。
OpenJDK 源码迁移到 Github
ZGC 并发线程堆栈处理
将ZGC线程堆栈处理从安全点移至并发阶段。
增加 Unix 域套接字通道
其中 Unix 域 (AF_UNIX) 套接字支持添加到 nio.channels 包中的套接字通道和服务器套接字通道 API 中。该计划还扩展了继承的通道机制,以支持 Unix 域套接字通道和服务器套接字通道。Unix 域套接字用于同一主机上的进程间通信。它们在很多方面与 TCP/IP 套接字类似,只是它们由文件系统路径名称而不是 IP 地址和端口号寻址。新功能的目标是支持 Unix 域套接字通道的所有功能,这些功能在主要 Unix 平台和 Windows 中很常见。
将 JDK 移植到 Alpine Linux 和其他使用 musl 作为主 C 库的 Linux 发行版
在 x64 和 AArch64 体系结构上,将JDK移植到 Alpine Linux 以及使用musl作为其主要C库的其他Linux发行版中。
弹性元空间功能
它将可以更迅速地将未使用的 HotSpot VM 类元数据(元空间)内存返回到操作系统,减少元空间占用空间并简化元空间代码以降低维护成本。
将 JDK 移植到 Windows/AArch64 平台
随着新的服务器级和使用者 AArch64 (ARM64) 硬件的发布,Windows/AArch64 已成为一个重要的平台。
外部链接程序 API
提供静态类型、纯 Java 对本机代码的访问。此 API 将在 JDK 16 中处于孵化器阶段。
对基于值的类进行警告
对在 Java 中错误进行基于值类实例的操作发出警告。
包装工具
提供jpackage工具,用于打包独立的Java应用程序。
外部存储器访问 API
引入一个允许Java程序安全有效地访问Java堆之外的外部内存 API。
instanceof 模式匹配
在 JDK 16 上,模式匹配允许程序中的通用逻辑,即从对象中提取组件,可以更简洁、更安全地表达.instanceof 运算符。
Records
为不可变的数据载体提供记录类。
默认情况下,对 JDK 内部进行强封装
用户可以选择自 JDK 9 以来默认的宽松强封装。此建议的目标包括提高 JDK 的安全性和可维护性,作为项目 Jigsaw 的一部分,并鼓励开发人员从使用内部元素迁移到使用标准 API,以便开发人员和最终用户都可以轻松地更新到未来的 Java 版本。
密封类
以前在 JDK 15 中预览的密封类和接口限制其他类和接口可以扩展或实现它们。该计划的目标包括,允许类或接口的作者控制负责实现它的代码,提供比访问修饰符更声明性的方式来限制超类的使用,以及通过提供模式分析的基础来支持模式匹配的未来方向。
参考:
https://openjdk.java.net/projects/jdk/16/
https://blog.csdn.net/csdnnews/article/details/110483909
推荐阅读
• 突发!云计算巨头数据中心起火,致350万家网站下线、部分客户数据丢失无法恢复 •一个完整的、全面k8s化的集群稳定架构(值得借鉴) • 2020年国内互联网公司的薪酬排名! • 基于SpringBoot 的CMS系统,拿去开发企业官网真香 • 深度介绍分布式系统原理与设计 • 程序员因违反竟业协议,赔腾讯97.6万... • 阿里一面:如何保证API接口数据安全? • 徒手撸了一个RPC框架,理解更透彻了,代码已上传github,自取~ • 一个完整的外卖系统 • 防止删库跑路?市值缩水近 24 亿元!就靠堡垒机?这货这么吊?