Java10 介绍
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 版本。
Java10新特性
以下是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 : 删除本机标头生成工具
- JEP 319 : 根证书
Java 10 使用新方法和选项增强了 70 多个 API,并删除了已弃用的 API 和选项。我们将在下一章中看到这些变化。