亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 10 核心特性与发布模型详解

Java 10 发布背景

Java 10 于 2018 年 3 月 20 日发布,是 Java 发布节奏变革的里程碑版本。Oracle 确立了 6 个月一次的特性发布节奏 与 LTS(长期支持)模型:

Java 9 与 10 为非 LTS 版本,Java 11 为首个 LTS 版本。

Oracle JDK 与 OpenJDK 的关系变化

Java 10 核心新特性(JEP)

JEP特性说明
JEP 286局部变量类型推断引入 var 关键字,编译器根据初始值推断类型,简化冗长声明。
JEP 322基于时间的发布版本控制版本号格式 $FEATURE.$INTERIM.$UPDATE.$PATCH,明确发布节奏。
JEP 304垃圾收集器接口定义统一 GC 接口,便于替换/隔离不同 GC 实现。
JEP 307G1 并行 Full GCG1 回退到全量 GC 时使用并行标记-清理-压缩,降低最坏延迟。
JEP 316堆分配在替代内存设备支持 -XX:AllocateHeapAt 指定 NV-DIMM 等非易失性内存路径。
JEP 296整合 JDK 森林为单一仓库将 8 个模块仓库合并为单一仓库,简化开发流程。
JEP 310应用类数据共享扩展 CDS,允许应用类放入共享归档,减少启动时间与内存占用。
JEP 314扩展 Unicode 语言标签新增货币、周首日、区域覆盖、时区等扩展。
JEP 319根证书OpenJDK 内置 Oracle Java SE Root CA 证书,开箱即用 TLS。
JEP 317实验性 Java 版 JIT 编译器引入 Graal 编译器,基于 JVMCI,可动态插拔,支持多语言。
JEP 312线程局部握手x64/SPARC 上允许单独暂停线程,无需全局安全点,提升 VM 性能。
JEP 313移除 javah 工具原生头文件生成工具被移除,功能由 javac -h 替代。

API 增强与清理

版本号解析示例

public class Tester {
    public static void main(String[] args) {
        Runtime.Version version = Runtime.version();
        System.out.printf("feature: %d%n interim: %d%n update: %d%n patch: %d%n",
                version.feature(), version.interim(), version.update(), version.patch());
    }
}
// 输出示例(Java 10.0.2):
// feature: 10
// interim: 0
// update: 2
// patch: 0

java

  1. C 语言全面概述:历史、特性与应用领域
  2. 精通 Java 运算符:类型、语法与实战示例
  3. Java 注释:类型、用法与最佳实践
  4. 精通 Java 增强 for 循环:语法、示例与最佳实践
  5. 精通 Java 字符串:创建、方法与最佳实践
  6. 精通 Java 接口:概念、实现与最佳实践
  7. 精通 Java 匿名内部类:定义、语法与实战示例
  8. 精通 Java Try-With-Resources:自动资源管理详解
  9. Java 注解详解:类型、放置位置与实战示例
  10. Java 断言实战指南:尽早发现 Bug 与保障代码可靠性
  11. Java 编程语言:演进、版本与应用
  12. Java 9 (JDK 9) 核心特性与优势全览