Java 10 - 概述
Java 10 是 Java 发布节奏中的主要版本,于 2018 年 3 月 10 日发布。在 Java 10 中,Oracle 已将 Java 发布节奏更改为新模型、6 个月发布节奏和 Oracle Java SE 产品的 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 是云和容器友好的,因为它可以作为容器的一部分自由分发。所以甲骨文推动OpenJDK的举动让java对云或容器的开发和部署更加友好。
Java 9 和 Java 10 是非 LTS 版本。 Java 11 版本是 LTS 版本。
新功能
以下是 Java 10 中引入的主要新特性。
-
JEP 286 − 局部变量类型推断
-
JEP 322 − 基于时间的发布版本控制
-
JEP 304 − 垃圾收集器接口
-
JEP 307 − G1 的并行 Full GC
-
JEP 316 − 替代存储设备上的堆分配
-
JEP 296 − 将 JDK 森林整合到一个存储库中
-
JEP 310 − 应用类-数据共享
-
JEP 314 − 额外的 Unicode 语言标签扩展
-
JEP 319 − 根证书
-
JEP 317 − 实验性的基于 Java 的 JIT 编译器
-
JEP 312 − 线程本地握手
-
JEP 313 − 移除 Native-Header 生成工具
-
JEP 319 − 根证书
-
JEP 319 − 根证书
Java 10 使用新的方法和选项增强了 70 多个 API,并删除了已弃用的 API 和选项。我们将在接下来的章节中看到这些变化。
java