Java 10 - 概述

Java 10 是 Java 发布节奏中的一个主要版本,于 2018 年 3 月 10 日发布。通过 Java 10,Oracle 将 Java 发布节奏更改为新模型,即 Oracle Java SE 产品的 6 个月发布节奏和 LTS 模型。LTS 模型代表长期支持模型。

从 Java 10 开始,Oracle 每 6 个月发布一个新版本的 Java,每个版本包含一到两个主要功能。Oracle 使用发布序列概念。每个发布系列计划为期 6 个月。在此时间表内开发的功能将在版本中提供,否则功能将移至下一个版本系列。

Oracle JDK 与 OpenJDK

大多数 Oracle JDK 二进制文件都是 Oracle 专有的并获得许可,并且对重新分发有多种限制。而 OpenJDK 对开发者社区更加友好。从 Java 10 开始,Oracle 决定将 OpenJDK 推广为主要 JDK,以促进基于社区的 Java 开发。Oracle 将继续生产自己的 JDK,但会在 3 年后发布,并将其称为 LTS 版本。因此 OpenJDK 二进制文件将每六个月发布一次。

OpenJDK 对云和容器友好,因为它可以作为容器的一部分自由分发。所以Oracle推广OpenJDK的举动让java对于云或者容器的开发部署更加友好。

Java 9 和 Java 10 是非 LTS 版本。Java 11 版本是 LTS 版本。

新功能

以下是 Java 10 中引入的主要新功能。

  • JEP 286 - 局部变量类型推断

  • JEP 322 - 基于时间的发布版本控制

  • JEP 304 - 垃圾收集器接口

  • JEP 307 - G1 的并行完整 GC

  • JEP 316 - 替代内存设备上的堆分配

  • JEP 296 - 将 JDK 森林合并到单个存储库中

  • JEP 310 - 应用程序类数据共享

  • JEP 314 - 附加 Unicode 语言标签扩展

  • JEP 319 - 根证书

  • JEP 317 - 基于 Java 的实验性 JIT 编译器

  • JEP 312 - 线程局部握手

  • JEP 313 - 删除本机标头生成工具

  • JEP 319 - 根证书

  • JEP 319 - 根证书

Java 10 通过新方法和选项增强了 70 多个 API,并删除了已弃用的 API 和选项。我们将在接下来的章节中看到这些变化。