為什么開(kāi)發(fā)者對(duì)Java 9如此的興奮
隨著標(biāo)準(zhǔn) Java 的版本更新,開(kāi)發(fā)者總是可以從升級(jí)后的版本中獲取想要的功能。那么 Java 9 的發(fā)布為什么會(huì)讓開(kāi)發(fā)者如此的興奮?下面列出了一些主要原因:
1、模塊化的源代碼
JDK 源代碼將以模塊化的形式組織起來(lái),生成系統(tǒng)將會(huì)在模塊化編譯上得到增強(qiáng),并且在生成的時(shí)候模塊之間的邊界也將被強(qiáng)制區(qū)分開(kāi)來(lái)。“Jigsaw 的目標(biāo)是為 Java SE 平臺(tái)設(shè)計(jì)并實(shí)現(xiàn)標(biāo)準(zhǔn)的模塊化系統(tǒng),并將該系統(tǒng)應(yīng)用到自身平臺(tái)和 JDK 當(dāng)中去。它的主要目標(biāo)是為一些小型設(shè)備提供可簡(jiǎn)單擴(kuò)展的實(shí)施方案,并且提高安全性和可維護(hù)性,提高應(yīng)用系統(tǒng)的性能,以及為開(kāi)發(fā)者提供更多的開(kāi)發(fā)工具。”JDK 優(yōu)化建議中是這么描述的。
2、輕量級(jí)的 JSON API
這是利用 JSON 數(shù)據(jù)交換格式生成文檔和數(shù)據(jù)流的一個(gè)接口,某些時(shí)候,JSON 完全可以替代 XML。“JSON 可以在 Web 服務(wù)中用得上了,Java SE 也將采用 JSON 數(shù)據(jù)格式,同時(shí)這也是 Java 9 中提供的最需要的功能了。”
3、系統(tǒng)進(jìn)程管理
這次升級(jí)將對(duì)管理操作系統(tǒng)進(jìn)程的 API 作一些提高和完善,目前的 API 只能強(qiáng)制開(kāi)發(fā)者使用本地代碼,然而這次升級(jí)也克服了這一限制。在 Java SE 7 中,對(duì)本地操作系統(tǒng)進(jìn)程的操作有很大的限制,但是 Java 9 中新的 API 也需要考慮不同操作系統(tǒng)的差異,尤其是 Windows。“API 的設(shè)計(jì)需要適應(yīng)不同操作系統(tǒng)的移動(dòng)設(shè)備,并且要能在這些設(shè)備上部署和應(yīng)用。同時(shí)也應(yīng)該要考慮同一個(gè)操作系統(tǒng)中多個(gè) Java 虛擬機(jī)的情況。”JEP 文檔中是這么描述的。
4、完善競(jìng)爭(zhēng)鎖
該目標(biāo)是為了提升訪問(wèn)對(duì)象時(shí)的線程競(jìng)爭(zhēng)處理,文檔中是這樣說(shuō)的:“完善鎖之間的競(jìng)爭(zhēng)對(duì)現(xiàn)實(shí)中的應(yīng)用系統(tǒng)是非常有益的。”
5、分段代碼緩存
這主要是將代碼緩存分割成幾塊,每一塊都包含編譯好的代碼,這樣不僅可以提高程序運(yùn)行時(shí)的性能,而且還更容易擴(kuò)展。
6、智能 Java 編譯器
該項(xiàng)目主要是為了提高 Java 編譯器的性能,使其能夠在編譯大型項(xiàng)目上超越 JDK,當(dāng)前的實(shí)施方案確實(shí)非常棒,不僅提高了編譯速度,而且還有增量編譯的功能。但是由于代碼質(zhì)量和穩(wěn)定性還尚未令人滿意,所以該項(xiàng)目還未對(duì)外發(fā)布,敬請(qǐng)期待。
英文原文:Why developers should get excited about Java 9
譯文鏈接:http://www.codeceo.com/article/why-developers-should-get-excited-about-java-9.html