為什么開發(fā)者對Java 9如此的興奮
隨著標(biāo)準(zhǔn)Java的版本更新,開發(fā)者總是可以從升級后的版本中獲取想要的功能。那么Java 9的發(fā)布為什么會(huì)讓開發(fā)者如此的興奮?下面列出了一些主要原因:
1、模塊化的源代碼JDK源代碼將以模塊化的形式組織起來,生成系統(tǒng)將會(huì)在模塊化編譯上得到增強(qiáng),并且在生成的時(shí)候模塊之間的邊界也將被強(qiáng)制區(qū)分開來。“Jigsaw的目標(biāo)是為Java SE平臺設(shè)計(jì)并實(shí)現(xiàn)標(biāo)準(zhǔn)的模塊化系統(tǒng),并將該系統(tǒng)應(yīng)用到自身平臺和JDK當(dāng)中去。它的主要目標(biāo)是為一些小型設(shè)備提供可簡單擴(kuò)展的實(shí)施方案,并且提高安全性和可維護(hù)性,提高應(yīng)用系統(tǒng)的性能,以及為開發(fā)者提供更多的開發(fā)工具。”JDK優(yōu)化建議中是這么描述的。
2、輕量級的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)程管理這次升級將對管理操作系統(tǒng)進(jìn)程的API作一些提高和完善,目前的API只能強(qiáng)制開發(fā)者使用本地代碼,然而這次升級也克服了這一限制。在Java SE 7中,對本地操作系統(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、完善競爭鎖該目標(biāo)是為了提升訪問對象時(shí)的線程競爭處理,文檔中是這樣說的:“完善鎖之間的競爭對現(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)目還未對外發(fā)布,敬請期待。
英文原文:Why developers should get excited about Java 9 翻譯:codeceo – 小峰
相關(guān)文章:
1. vue style width a href動(dòng)態(tài)拼接問題的解決2. Java源碼解析之接口List3. 在vue中獲取wangeditor的html和text的操作4. python mysql 字段與關(guān)鍵字沖突的解決方式5. Python用K-means聚類算法進(jìn)行客戶分群的實(shí)現(xiàn)6. Java xml數(shù)據(jù)格式返回實(shí)現(xiàn)操作7. python編寫五子棋游戲8. 解決Android Studio Design界面不顯示layout控件的問題9. 使用vue-cli創(chuàng)建項(xiàng)目并webpack打包的操作方法10. python讀取中文路徑時(shí)出錯(cuò)(2種解決方案)
