还没用上 JDK 11,12 就要来了
更新速度快的飞起,JDK 12 早期访问构建版已发布,你现在用到了第几版本?
自从 2017 年 9 月 21 日 Java 9 正式发布之时,Oracle 就宣布今后会按照每六个月一次的节奏进行更新,在过去的几个月中,我们见证了其兑现了诺言,但万万没想到,苦了大批迎头而上的开发者们。
2017 年 9 月,Java 9 发布,终落地 Jigsaw 项目;
2018 年 3 月,Java 10 正式发布,并带来 109 项新特性;
根据 Oracle 官方技术网显示,JDK 11 最终版本也将于 2018 年 9 月 25 日正式发布。不过在 6 月底,JDK 11 就已经进入了 Rampdown Phase One 阶段,这意味着该版本所有新的功能特性被冻结,不会再加入更多的 JEP 。
JDK 11 最新的 JEP
JDK 11 总共包含 17 个新的 JEP ,分别为:
181: Nest-Based Access Control(基于嵌套的访问控制)
309: Dynamic Class-File Constants(动态类文件常量)
315: Improve Aarch64 Intrinsics(改进 Aarch64 Intrinsics)
318: Epsilon: A No-Op Garbage Collector(Epsilon — 一个无操作的垃圾收集器)
320: Remove the Java EE and CORBA Modules(删除 Java EE 和 CORBA 模块)
321: HTTP Client (Standard)
323: Local-Variable Syntax for Lambda Parameters(用于 Lambda 参数的局部变量语法)
324: Key Agreement with Curve25519 and Curve448(Curve25519 和 Curve448 算法的密钥协议)
327: Unicode 10
328: Flight Recorder
329: ChaCha20 and Poly1305 Cryptographic Algorithms(ChaCha20 和 Poly1305 加密算法)
330: Launch Single-File Source-Code Programs(启动单一文件的源代码程序)
331: Low-Overhead Heap Profiling(低开销的 Heap Profiling)
332: Transport Layer Security (TLS) 1.3(支持 TLS 1.3)
333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental) (可伸缩低延迟垃圾收集器)
335: Deprecate the Nashorn JavaScript Engine(弃用 Nashorn JavaScript 引擎)
336: Deprecate the Pack200 Tools and API (弃用 Pack200 工具和 API)
JDK 12 早期访问构建版的发布
如今还没等到 JDK 11 正式版的到来,JDK 12 早期访问构建版就已发布,不过其中尚未列出具体包含哪些 JEP 和特性。
JDK 12 最新的改动:
尝鲜下载地址:
Linux / x64:https://download.java.net/java/early_access/jdk12/2/GPL/openjdk-12-ea+2_linux-x64_bin.tar.gz
macOS / x64:https://download.java.net/java/early_access/jdk12/2/GPL/openjdk-12-ea+2_osx-x64_bin.tar.gz
Windows / x64:https://download.java.net/java/early_access/jdk12/2/GPL/openjdk-12-ea+2_windows-x64_bin.zip
更多内容可参考 JDK 12 Early-Access Builds:http://jdk.java.net/12/
Java 更新如此之快,究竟是好还是坏?
自 1996 年 Java 诞生至今已有 23 年的时间,而稍晚一年出现的 JDK 1.0 经过 22 年的时间才升级为 JDK 10。如今 6 个月一更的频率促使 Java 更新迭代的速度将会越来越快,这究竟是好事还是坏事?
对此,来自知乎的网友们大多数表示了赞同(https://www.zhihu.com/question/278806544):
@小亦:Java 更新慢是一直以来的“通病”,很多人不以为然是因为没看到其他语言的发展速度。快意味着进取包容能力的提升,意味着对 Java 标准制定的那群人要求更高、更积极。只要质量高、路子不偏,快点难道不好吗?
@知乎用户:好事。更新快,说明有更新的动力、有活力。不断地迭代,跟上技术的潮流。
@王鸿飞:好是好,但是估计在相当长的时间里最流行的版本是 Java8。Java 8 以后模块化升级风险太大,目前还暂时没听过谁在线上系统使用的。如果卡在 Java 8,那新出的 auto 关键字之类的普及还要很久。
对此,你怎么看呢?