查看原文
其他

JDK16 GA 正式版已发布了,内置 Lombok 功能,网友:功能虽赞,但学不动了~

D哥 Java面试那些事儿 2021-09-05

今天,有读者告诉D哥JDK16正式版发布了,赶忙打开推特看看,我擦,确实发布了,这速度也太快了~



之前看过一篇文章,博主Simon Ritter从Oracle目前为止的公开发布中做出推断,并绘图展示了Java 的发布节奏,如下图所示

我们从图中也可以发现JDK16也是一个短期版本,只支持6个月。长期版本也只有 7、8、11、17,因此,目前最新的LTS版本,就是 JDK 11,已于2018年9月发布。接下来,咱们只能期待2021年即将发布的下一个LTS版本JDK17~


D哥也第一时间下载了,体验了一把,见下图:



目前,JDK16可以在官网下载,见下图:

官方地址:https://openjdk.java.net


源码地址:https://github.com/openjdk/jdk


Oracle同时还感谢参与JDK16处理Issues的组织,见下图


接下来,咱们说说JDK16有那些新特性。


# JDK16 新特性


1、JEP338:Vector API(孵化器阶段)


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


2、JEP347:启用 C ++ 14语言功能


允许在 JDK C ++源代码中使用 C ++ 14功能。


3、JEP357、369:源码迁移到Github


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


4、JEP376:ZGC(Z 垃圾收集器)线程堆栈处理


去掉ZGC线程堆栈处理从安全点到并发阶段,该计划的目标包括从 ZGC 安全点中删除线程堆栈处理。


5、JEP380:Unix 域套接字通道


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


6、JEP386、388:将JDK移植到Windows/AArch64平台


7、JEP387:弹性元空间能力


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


8、JEP 389:外部存储器访问 API


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


9、JEP392:打包管理工具


提供用于打包独立 Java 应用程序的 jpackage 工具,如下:

jpackage --name myapp --module-path lib -m myapp


10、JEP393:外部存储器访问 API


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


11、JEP394:instanceof运算符的模式匹配


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

if (obj instanceof String s && s.length() > 5) { flag = s.contains("jdk");}


12、JEP395:Records


就是对之前玩法进行加强处理。


13、JEP396:加强JDK内部封装


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


说实话,这些功能,在D哥看来,对于咱们日常开发来说,真没啥吸引力,D哥的同事曾这样说过,“自从JDK8以后,再也没有赶上趟~”,说实话,这句话说到大多数Java开发者的心坎里去了~



作为一名老的Java程序员,D哥反正扎心了,还是感谢Java给了我一口饭吃~


你目前还在用那个版本,欢迎在留言区讨论~



热门推荐:

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

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

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