Oracle宣布更多的Java 9 新特性
隨著Oracle確認(rèn)了其余的4個(gè)Java 9特性,下一代Java的計(jì)劃開始變得更清晰了,Oracle已經(jīng)公布了第二套Java 9特性。自從Oracle在今年早些時(shí)候宣布了3個(gè)新的API和模塊化源碼后,這是Oracle***推出Java 9特性表。
統(tǒng)一JVM日志(JEP 158)
Java 9將會(huì)對(duì)所有的JVM組件采用相同的日志格式。這將會(huì)改變JVM子系統(tǒng)記錄事件的方式,以及為日志添加了統(tǒng)一的命令選項(xiàng)。
更多的編譯器控制(JEP 165)
Oracle想利用一系列的控制選項(xiàng)來(lái)對(duì)Hostspot JIT編譯器提供更多細(xì)粒度的控制。這個(gè)改進(jìn)將會(huì)讓開發(fā)者在優(yōu)化方面獲得更多的方法上下文(method-control)相關(guān)控制,同時(shí)允許他們改變JVM編譯器的控制選項(xiàng) 。
移除過(guò)時(shí)的GC組合 (JEP 214)
這次更新將會(huì)移除三個(gè)已經(jīng)過(guò)時(shí)的垃圾收集組合:DefNew + CMS, ParNew + SerialOld和增量模式CMS,這些組合在Java 8已經(jīng)不建議使用了。Oracle聲稱移除垃圾收集組合動(dòng)機(jī)是為了節(jié)省維護(hù)成 本。希望這些改動(dòng)能騰出一些資源來(lái)簡(jiǎn)化Hostspot GC的代碼,從而減少bugs和改善其他GC組合
改善Coin項(xiàng)目的缺陷 (JEP 213)
Coin項(xiàng)目剛開始是為了對(duì)Java 7進(jìn)行一些小的語(yǔ)言修改而建立的。實(shí)踐證明這些修改是簡(jiǎn)單易用并行之有效的,所以O(shè)racle計(jì)劃返回這個(gè)項(xiàng)目去解決當(dāng)時(shí)修改語(yǔ)言時(shí)的遺留問(wèn)題。項(xiàng)目發(fā)起人已經(jīng)表明清楚了,這次修改不是進(jìn)行第二版本的Coin項(xiàng)目,而且他們不再去征求新的語(yǔ)言提議
參考:Java社區(qū)對(duì)Java 9 的特性有什么看法
已經(jīng)證實(shí)了Java 9將會(huì)支持數(shù)據(jù)報(bào)傳輸層安全性,伴隨著還有輸出HTML5格式的Javadoc工具
Oracle同樣宣布了他們要完成一個(gè)警告清除的項(xiàng)目,這個(gè)項(xiàng)目已經(jīng)開始進(jìn)行了幾年了。對(duì)import的處理問(wèn)題作出更多的改善修復(fù),不建議使用的類將不再會(huì)觸發(fā)警告提醒
Java 9模塊化被證實(shí)
Oracle同樣承諾了去模塊化源代碼。模塊化JDK源代碼的計(jì)劃在今年年初已經(jīng)公開了,Oracle的工程團(tuán)隊(duì)已經(jīng)為結(jié)構(gòu)化實(shí)施Jigsaw(JEP152和JEP201)項(xiàng)目奠定了基礎(chǔ)
參考:Panama項(xiàng)目會(huì)加進(jìn)Java 9的特性里嗎?
Java平臺(tái)的***架構(gòu)師Mark Reinhold闡明,Oracle用JRE和JDK中的模塊代替JAR的計(jì)劃會(huì)對(duì)IDE(集成開發(fā)環(huán)境)會(huì)產(chǎn)生一些影響 。“這將會(huì)影響到一小類的應(yīng)用程序,主要是IDE和其他需 要枚舉和檢測(cè)保存在運(yùn)行映像中的類的開發(fā)工具”
根據(jù)Reinhold所說(shuō),一個(gè)能夠檢測(cè)這些類的新機(jī)制 (JEP 220) 將會(huì)被啟用并且能使這些類在某種程度上免疫以后改變格式造成的影響。他最近的一番話“JAR格式已經(jīng)走到它的盡頭了,現(xiàn)在是做出改變繼 續(xù)向前的時(shí)候了。”給以JAR打包類庫(kù)和應(yīng)用程序的程序員中造成了不安。對(duì)于這件事,Reinhold稱“那些應(yīng)用依然會(huì)很好地運(yùn)行”
在今年早8月份被證實(shí)的***組Java 9特性包含了3個(gè)新的API和3個(gè)小的特性在Java社區(qū)里的回應(yīng)都很冷淡。