按计划,JDK 10 将于 3 月 20 日正式发布。据前 Oracle 员工 Simon Ritter 的统计,JDK 10 总共包含 109 项新特性。当然,在最终发布前,可能还会发生变化。
新特性中最重要的,是我们之前曾报道过的 12 个 JEP :
JEP 286: 局部变量的类型推断。该特性在社区讨论了很久并做了调查,可查看JEP 286 调查结果。
JEP 296: 将 JDK 的多个代码仓库合并到一个储存库中。
JEP 304: 垃圾收集器接口。通过引入一个干净的垃圾收集器(GC)接口,改善不同垃圾收集器的源码隔离性。
JEP 307: 向 G1 引入并行 Full GC。
JEP 310: 应用类数据共享。为改善启动和占用空间,在现有的类数据共享(“CDS”)功能上再次拓展,以允许应用类放置在共享存档中。
JEP 312: 线程局部管控。允许停止单个线程,而不是只能启用或停止所有线程。
JEP 313: 移除 Native-Header Generation Tool (javah)
JEP 314: 额外的 Unicode 语言标签扩展。包括:cu (货币类型)、fw (每周第一天为星期几)、rg (区域覆盖)、tz (时区) 等。
JEP 316: 在备用内存设备上分配堆内存。允许 HotSpot 虚拟机在备用内存设备上分配 Java 对象堆。
JEP 317: 基于 Java 的 JIT 编译器(试验版本)。
JEP 319: 根证书。开源 Java SE Root CA 程序中的根证书。
JEP 322: 基于时间的版本发布模式。“Feature releases” 版本将包含新特性,“Update releases” 版本仅修复 Bug 。
“局部变量的类型推断”可以说是这 12 个 JEP 中最受关注的,为支持此特性,开发团队也对 Java 语言规范做了一些更改,包括改变具有相同名称的静态类型的导入规则、将 var 作为局部变量类型推断的特殊标识符等等。
此外还包括新增的 73 个标准类库,对 JVM 规范的更改,以及一些其他更改项。完整的 109 项新特性请查阅:https://www.azul.com/109-new-features-in-jdk-10/。
JDK 10 候选版体验地址:http://jdk.java.net/10/
对于 JDK 10 ,你喜欢哪些新特性?是否会更新使用?欢迎评论探讨。