什么?JDK16 刚刚又发布了?赶紧尝尝鲜
我们从图中也可以发现 JDK16 也是一个短期版本,只支持 6 个月。长期版本也只有 7、8、11、17,因此,目前最新的 LTS 版本,就是?JDK 11,已于 2018 年 9 月发布。接下来,咱们只能期待 2021 年即将发布的下一个 LTS 版本 JDK17~
这次发布的 JDK16 也只是个抢鲜版,它的正式版本需要在 2021 年 3 月 16 日发布。
如果你对 JDK 源码感兴趣,也可以通过 Github 去查看相关源码,目前有 6.8k star。
源码地址:https://github.com/openjdk/jdk
Github 的骚技巧真的好用,可以进行对比,来看看构建的这个抢鲜版,与之前的版本有哪些差别?如下图所示
好了,言归正传,咱们还是来看看这个版本又给咱们带来哪些新特性呢?
JEP338:Vector API(孵化器阶段)
为 jdk.incubator.vector 配备一个孵化器模块,以表达可在支持的 CPU 架构上编译为最佳矢量硬件指令的矢量计算,以实现优于等效标量计算的性能。
JEP347:启用 C ++ 14 语言功能
允许在 JDK C ++源代码中使用 C ++ 14 功能。
JEP357、369:源码迁移到 Github
OpenJDK 源码从 Mercurial 迁移到 Git,托管平台也迁移到 GitHub。
源码地址:https://github.com/openjdk/jdk
JEP376:ZGC(Z 垃圾收集器)线程堆栈处理
去掉 ZGC 线程堆栈处理从安全点到并发阶段,该计划的目标包括从 ZGC 安全点中删除线程堆栈处理。
JEP380
:Unix 域套接字通道
增加 Unix 域套接字通道,其中在 nio.channels 包中的套接字通道和服务器套接字通道 API 中增加了 Unix 域(AF_UNIX)套接字支持。
JEP386、388:将 JDK 移植到 Windows/AArch64 平台
JEP387:弹性元空间能力
它可以将未使用的 HotSpot VM 类元数据(元空间)内存更迅速地返回给操作系统,从而减少元空间的占用空间并简化元空间代码,从而降低维护成本。
JEP 389:外部存储器访问 API
允许 Java 程序安全地访问 Java 堆外部的外部存储器。
JEP392:打包管理工具
提供用于打包独立 Java 应用程序的 jpackage 工具,如下:
jpackage --name myapp --module-path lib -m myapp
JEP393:外部存储器访问 API
允许 Java 程序安全地访问 Java 堆外部的外部存储器。
JEP394:instanceof 运算符的模式匹配
用于 instanceof 运算符的模式匹配,在 JDK 14 和 JDK 15 中进行了预览,将在 JDK 16 中完成,如:
if (obj instanceof String s && s.length() > 5) {
JEP395:Records
就是对之前玩法进行加强处理。
JEP396:加强 JDK 内部封装
除了 misc.Unsafe 等关键的内部 API 外,默认情况下对 JDK 内部进行强封装。用户可以选择自 JDK 9 以来默认的宽松的强封装。
评论