Oracle 已經(jīng)在開(kāi)發(fā) Java 9,Java 9 主要的增強(qiáng)內(nèi)容之前已經(jīng)出現(xiàn)在 OpenJDK 之上。而現(xiàn)在 Oracle 發(fā)布的是真正的新特性,前一個(gè) JDK 9 的 early access 發(fā)行版 被標(biāo)注了“修復(fù)bug和小增強(qiáng)”。
新的 APIs 和性能特性:
下一個(gè)版本包含三個(gè)全新 API:
輕量級(jí)的 JSON API
HTTP 2 Client 支持 HTTP 2.0 和 WebSockets,替代傳統(tǒng)的 HttpURLConnection
Process API 更新 提升對(duì)操作系統(tǒng)進(jìn)程的控制和管理
此外還有一些小的特性和性能提升:
Improve contended locking, 提升訪問(wèn)對(duì)象時(shí)的線程競(jìng)爭(zhēng)處理
Segmented code cache 更好的性能、更短的掃描時(shí)間,更少的碎片
Smart Java compiler, 或者叫 sjavac, 用于更大項(xiàng)目的構(gòu)建
Java 的本地接口也被重新作為 Java Native Runtime project 的一部分,將支持多 GB 堆和一個(gè)自調(diào)整的 JVM。
模塊化的源碼
如果你對(duì)上述特性不感興趣,Oracle 還承諾 modular source code ,目的是重新組織 JDK 的源碼,使之模塊化,以及項(xiàng)目 Jigsaw 的結(jié)構(gòu)化實(shí)現(xiàn)。
Jigsaw 在 Java 7 的時(shí)候被移除,并在 Java 9 中回歸,這是 Oracle 下一個(gè) Java 版本最大的正義點(diǎn)。該項(xiàng)目主要的目的是為更小的設(shè)備提供可伸縮性,改進(jìn) JDK 和 Java SE 的安全性,對(duì)大型應(yīng)用的性能提升以及更易于構(gòu)建。與此同時(shí) Penrose Project 用于探索 Jigsaw 和開(kāi)源網(wǎng)關(guān)計(jì)劃之間的互操作性。
Oracle 的 Java 平臺(tái)組的軟件開(kāi)發(fā)副總裁 Georges Saab 之前 告訴 JAXenter 目前主要工作是在處理 Jigaws 項(xiàng)目,開(kāi)發(fā)團(tuán)隊(duì)正在探索和制作一個(gè)簡(jiǎn)單方法的原型來(lái)確保能在 Java 9 發(fā)布時(shí)可用。
動(dòng)蕩的版本歷史
不管怎么說(shuō),Oracle 知道如何應(yīng)對(duì)不守時(shí)的發(fā)布 Java 版本時(shí)的吐槽,向之前的 Lambda 項(xiàng)目和 Applet 的一些安全問(wèn)題等等,這些使得 Java 8 的發(fā)布整整推遲了 2 年,甚至到現(xiàn)在還有 Java 8 的一些更新導(dǎo)致 很多開(kāi)發(fā)工具無(wú)法使用的問(wèn)題
Java 9 計(jì)劃在 2016 年發(fā)布,留給 Oracle 只有不足 2 年的時(shí)間。但還有大量的時(shí)間來(lái)對(duì)這些特性進(jìn)行討論、請(qǐng)求公告等。