- Java 10 教程
- Java 10 - 主页
- Java 10 - 概述
- Java 10 - 环境设置
- Java 10 - 基于时间的发布版本控制
- Java 10 - 局部变量类型推断
- Java 10 - 新 API 和选项
- Java 10 - 删除的功能和选项
- Java 10 - 已弃用的功能和选项
- Java 10 - JIT 编译器
- Java 10 - 类数据共享
- Java 10 - 增强的垃圾收集
- Java 10 - 区域设置增强
- Java 10 - 堆分配
- Java 10 - 统一的 JDK 森林
- Java 10 - 根证书
- Java 10 - 线程本地握手
- Java其他版本教程
- Java教程
- Java 8 教程
- Java 9 教程
- Java 10 有用资源
- Java 10 - 快速指南
- Java 10 - 有用的资源
- Java 10 - 讨论
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 和选项。我们将在接下来的章节中看到这些变化。