Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误与异常

Java 多线程

Java 同步

Java 网络编程

Java 集合

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 其他

Java API 与框架

Java 类引用

Java 有用资源

Java 14 新特性



Java 14 是一个主要功能版本,它为 Java 带来了许多 JVM 特定的更改和语言特定的更改。它遵循从 Java 10 开始引入的 Java 发布节奏,并于 2020 年 3 月 17 日发布,仅在 Java 13 发布六个月后。

Java 14 不是 LTS 版本。

Java 14 的新特性

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

  • JEP 361 − switch 表达式 − 现在是一个标准特性,允许 switch 通过 yield 使用返回值。

  • JEP 368 − 文本块 − 第二个预览特性,用于轻松处理多行字符串,例如 JSON、XML。

  • JEP 305 − 实例的模式匹配 − instanceOf 运算符增强为携带谓词。

  • JEP 358 − NullPointerException 消息 − NullPointerException 现在可以发送详细消息。

  • JEP 359 − 记录 − 引入一种新的记录类型的预览特性。

  • JEP 343 − 打包工具 − 引入基于 javapackager 的新打包程序。

  • JEP 345 − NUMA 感知 G1 − G1 垃圾收集器现在是 NUMA 感知的。

  • JEP 349 − JFR 事件流 − 模块 jdk.jfr 中的包 jdk.jfr.consumer 增强为异步订阅事件。

  • JEP 352 − 非易失性映射字节缓冲区 − 添加了新的文件映射模式以引用非易失性内存 (NVM)。

  • JEP 363 − 删除 CMS 垃圾收集器 − 在 Java 9 中弃用的并发标记清除 (CMS) 垃圾收集器已被删除。

  • JEP 347 − 删除 Pack200 工具和 API − 删除了 pack200 和 unpack200 工具以及来自 java.util.jar 的 Pack200 API。

  • JEP 370 − 外部内存访问 API − 一个访问堆空间之外的外部内存的新 API。

弃用与移除

以下是 Java 14 中弃用和移除的列表:

弃用

  • Solaris 和 SPARC 端口 (JEP 362) − 因为这个 Unix 操作系统和 RISC 处理器在过去几年中没有积极开发。

  • ParallelScavenge + SerialOld GC 组合 (JEP 366) − 因为这是很少使用的 GC 算法组合,并且需要大量的维护工作。

移除

  • 并发标记清除 (CMS) 垃圾收集器 (JEP 363) − 此 GC 在 Java 9 中已弃用,并被 G1 替换为默认 GC。还有其他高性能的替代方案,例如 ZDC、Shenandoah。此 GC 保留了 2 年,供感兴趣的用户维护。由于没有积极的维护,此 GC 现在已从 Java 14 中完全删除。

  • Pack200 工具和 API (JEP 367) − 这些压缩库是在 Java 5 中引入的,并在 Java 11 中已弃用。现在这些库已从 Java 14 中完全删除。

广告