Java 凭借自身不断提高平台性能、稳定性和安全性的能力,一直是开发人员中最流行的编程语言。IDC 的最新报告“Java Turns 25”显示,超过
900 万名开发人员(全球专职开发人员中的 69%)在使用 Java——比其他任何语言都多。
甲骨文还在继续探索 Java 的持续创新之路,并自豪地宣布 Java 16
正式发布,这也是我们转向六个月发布周期后的第七个特性版本。这种可预测水平使开发人员可以更轻松地管理他们对创新的采用计划。
主要特性
Vector API(孵化)
提升了Java在CPU向量计算的性能,这是对大规模的张量计算的支持,提升了Java在AI领域的能力。
启用了新的C++特性
允许在JDK中C++源代码中使用 C ++ 14的新特性。
从 Mercurial 迁移到 Git
Git目前已经成为代码版本管理领域的绝对统治者,现在Java顺应潮流也使用Git进行源代码管理。
迁移到GitHub
OpenJDK的代码现在有GitHub托管。
ZGC垃圾收集器
并发线程堆栈处理的垃圾收集器。
Unix域套接字通道
Unix域套接字对ServerSocketChannel和SocketChannel的支持。
Alpine Linux Port
在x64和AArch64体系结构上,将JDK移植到Alpine Linux以及其它使用musl C库的Linxu发行版上。
Elastic Metaspace
Hotspot对类元数据的处理(metaspace-元空间)有了很大的改进。占用空间减少了,现在可以更快地将未使用的内存回收到操作系统。
Windows/AArch64 Port
将 JDK 移植到 Windows / AArch64平台。
Foreign Linker API(孵化)
引入一个API,该API提供对本地代码的静态类型的纯Java访问。该API与Foreign-Memory API(JEP
393)一起将大大简化绑定到本机库的原本容易出错的过程。
Warnings for Value-Based Classes
将原始包装器类指定为*基于值的类,*并弃用其构造函数以将其删除,从而提示新的弃用警告。提供有关在Java平台中不正确尝试在任何基于值的类的实例上进行同步的警告。
Packaging Tool
提供jpackage用于打包独立Java应用程序的工具。
支持本地打包格式,以为最终用户提供自然的安装体验。这些格式包括msi与exe在Windows,pkg并dmg在MacOS,以及deb和rpm在Linux上。
允许在打包时指定启动时间参数。
可以从命令行直接调用,也可以通过ToolProviderAPI以编程方式调用。
Foreign-Memory Access API (第三次孵化)
引入一个API,允许Java程序安全有效地访问Java堆之外的外部内存。
Java16正式发布,你还在用JDK8吗?
公号:Java高级架构师,输入“面试题”,获取500份大厂面试真题!