查看原文
其他

JDK/Java 16 可能带来什么新特性?

白开水 FOSS Lab 2021-09-10
点击“蓝字”关注我们吧

JDK 15 已于今年 9 月 15 日发布,这是一个短期版本,只会受到 Oracle 6 个月的支持。JDK 16 将作为标准 Java 版本的参考实现在 2021 年 3 月 16 日发布。与 JDK 15 一样,JDK 16 也将是个短期版本,仅提供 6 个月的支持。预计于 2021 年 9 月发布的 JDK 17 将是一个长期支持(LTS)版本,会获得数年的支持。目前的 LTS 版本 JDK 11 则于 2018 年 9 月发布。

JDK 16 现在处于 Early-Access(EA,早期访问)阶段,目前最新版本是 Build 26

按 InfoWorld  所述,截至 2020 年 11 月 30 日,已有 14 个特性已被正式提了出来,还有 2 个特性则是预测性质。Java 16 即将推出的新功能或包括有:

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

  • 除了 misc.Unsafe 等关键的内部 API 外,默认情况下对 JDK 内部进行强封装。用户可以选择自 JDK 9 以来默认的宽松的强封装。

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

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

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

  • 启用 C ++ 14语言功能,允许在 JDK C ++源代码中使用 C ++ 14功能。

  • 孵化器阶段的矢量 API,其中 JDK 将配备一个孵化器模块,jdk.incubator.vector,以表达可在支持的 CPU 架构上编译为最佳矢量硬件指令的矢量计算,以实现优于等效标量计算的性能。

  • 将 JDK 移植到 Windows / AArch64平台。

  • 在 x64和 AArch64体系结构上,将 JDK 移植到 Alpine Linux 和其他使用 musl 作为其主要 C 库的 Linux 发行版。

  • 提供记录类,作为不可更改数据的透明载体。

  • 增加 Unix 域套接字通道,其中在 nio.channels 包中的套接字通道和服务器套接字通道 API 中增加了 Unix 域(AF_UNIX)套接字支持。

  • 外部存储器访问 API,允许 Java 程序安全地访问 Java 堆外部的外部存储器。

  • 用于 instanceof 运算符的模式匹配,在 JDK 14 和 JDK 15 中进行了预览,将在 JDK 16 中完成。

  • 提供用于打包独立 Java 应用程序的 jpackage 工具。

  • OpenJDK 源码从 Mercurial 迁移到 Git,托管平台也迁移到 GitHub。

详情可查看:https://jdk.java.net/16/ 


往期推荐

MOSN:蚂蚁金服开源的云原生网络数据平面

2020-12-01

Element Plus for Vue 3.0 来了!

2020-12-01

Zig 0.7.0发布,一门想要替换 C 的编程语言

2020-12-01


扫码关注最新动态

公众号ID:fosslab


我就知道你“在看”
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存