Java10 - 概述

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

从 Java10 开始,Oracle 每 6 个月发布一个新版本的 Java,每个版本包含一个或两个主要功能。 Oracle 使用发布火车概念。 每个发布序列计划为 6 个月。 在此时间线内开发的功能将在发布中发布,否则这些功能将移至下一个发布序列。


Oracle JDK 与 OpenJDK

大多数 Oracle JDK 二进制文件都是专有的,由 Oracle 许可,并且对再分发有多项限制。 而 OpenJDK 对开发者社区更友好。 从 Java10 开始,Oracle 决定将 OpenJDK 作为主要的 JDK 进行推广,以促进基于社区的 Java 开发。 甲骨文将继续生产自己的 JDK,但会在 3 年后发布它们并将其称为 LTS 版本。 所以 OpenJDK 二进制文件将每六个月发布一次。

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

Java 9 和 Java10 是非 LTS 版本。 Java 11 版本是一个 LTS 版本。


新功能

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

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

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

  • JEP 304 − 垃圾收集器接口

  • JEP 307 − G1 的并行 Full GC

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

  • JEP 296 − 将 JDK Forest 整合到一个单一的存储库中

  • JEP 310 − 应用类-数据共享

  • JEP 314 − 额外的 Unicode 语言标签扩展

  • JEP 319 − 根证书

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

  • JEP 312 − 线程本地握手

  • JEP 313 − 移除 Native-Header 生成工具

  • JEP 319 − 根证书

  • JEP 319 − 根证书

Java10 使用新方法和选项增强了 70 多个 API,并删除了已弃用的 API 和选项。 我们将在下一章中看到这些变化。