Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误与异常

Java 多线程

Java 同步

Java 网络编程

Java 集合

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 其他

Java APIs 与框架

Java 类引用

Java 有用资源

Java 16 新特性



Java 16 是一个重要的特性版本,它带来了许多 JVM 特定的更改和 Java 语言特定的更改。它遵循从 Java 10 开始引入的 Java 版本节奏,并于 2021 年 3 月发布,距离 Java 15 发布仅六个月。

Java 16 是一个非 LTS 版本。

Java 16 的新特性

以下是 Java 16 中引入的主要新特性。

  • JEP 338 - 向量 API(孵化器)- 引入新的向量 API,允许开发人员显式执行向量运算。

  • JEP 347 - 启用 C++14 语言特性- C++ 14 特性可以在 JDK 16 的 c++ 源代码中使用。

  • JEP 357, JEP 369 - 从 Mercurial 迁移到 Git/GitHub- OpenJDK 源代码已从 Mercurial 迁移到 Git/GitHub

  • JEP 376 - ZGC - 并发线程堆栈处理- 通过将线程堆栈处理从安全点移动到并发阶段来改进 Z 垃圾收集器。

  • JEP 380 - Unix 域套接字通道- SocketChannel 和 ServerSocketChannel 现在支持 Unix 域套接字。

  • JEP 386 - Alpine Linux 移植- 现在 JDK 可用于 Alpine Linux 和其他使用 musl 实现的 Linux 发行版。

  • JEP 387 - 弹性元空间- 通过快速将未使用的 HotSpot 类元数据或元空间内存返回给操作系统来改进元空间内存管理,减少元空间占用空间,并简化元空间代码。

  • JEP 388 - Windows/AArch64 移植- 现在 JDK 可以在 AArch64 上运行,在 ARM 硬件服务器或基于 ARM 的笔记本电脑上。

  • JEP 389 - 外部链接器 API(孵化器)- 使用新的 API 可以调用 Java 代码通过 C/C++ 或反之,替代 JNI。

  • JEP 390 - 基于值的类的警告- 如果基于值的类使用同步进行同步,则会发出警告。

  • JEP 392 - 打包工具- jpackage 现在是标准功能,而不是孵化器功能。

  • JEP 393 - 外部内存访问 API(第三个孵化器)- 对外部内存访问 API 的少量增强。

  • JEP 394 - instanceof 的模式匹配- instanceof 的模式匹配现在是标准特性。

  • JEP 395 - 记录- 记录现在是标准特性。

  • JEP 396 - 默认情况下严格封装 JDK 内部类- --illegal-access 选项的默认模式现在是 deny。之前是 permit。

  • JEP 397 - 密封类(第二次预览)- 对密封类的少量增强。

广告