Java 9 的主要新特性

今晚 Java 9 將正式發佈。Java 9 的新特性都列在官方頁面當中,本文介紹值得你關注的其中幾個點:java

▶ 進程操做改進(JEP 102: Process API Updates)

新增的 java.lang.ProcessHandle 類豐富了對進程的操做,同時原有的 java.lang.Process 類的功能也被增強了。shell

▶ 競爭鎖的性能優化(JEP 143: Improve Contended Locking)

可以改善程序運行時的多線程同步效率。緩存

▶ 代碼執行效率改善(JEP 197: Segmented Code Cache)

這個特性通常不會在 Java 代碼中直接使用,它經過對本地編譯代碼(即代碼緩存)進行更好的組織,讓 JRE 的運行效率有所提升。性能優化

▶ Java 模塊化(JEP 261: Module System)

這就是令 Java 9 跳票數次的罪魁禍首 Project Jigsaw。這裏就很少說了。多線程

▶ 交互式命令行(JEP 222: jshell: The Java Shell)

簡稱 JShell,方便對程序進行調試,以及快速檢驗 API 的可行性,你無須建立一個項目來學習 API,打開 JShell 便可。架構

▶ ResourceBundle 支持 UTF-8 編碼(JEP 226: UTF-8 Property Resource Bundles)

ResourceBundle 的缺省編碼問題一直是被吐槽的對象,非英文字符被轉碼爲看不懂的形式,嚴重損害了代碼的可讀性。從 Java 9 開始,ResourceBundle 默認編碼爲 UTF-8。模塊化

▶ G1 成爲默認的垃圾收集器(JEP 248: Make G1 the Default Garbage Collector)

G1 進一步減小了 GC 時的停頓時間(GC pause time),其實它從 JDK 8u40 開始就已經十分完善,足以做爲默認的垃圾收集器了。性能

▶ 優化字符串佔用空間(JEP 254: Compact Strings)

在不少應用當中,字符串已經成爲一個消耗內存的主要部分。經過優化字符串的佔用空間,應用的內存使用能夠獲得明顯改善。學習


若是你還在用 Java 6/7,那麼上面這些性能方面的優化(還不算 Java 8 的優化)就足以讓你儘快升級到 Java 9 了。優化

Java 9 還有其餘一些方面的新特性,好比 jlink,支持 tiff 圖片,支持 Unicode 8,支持 SHA-3,對 ECMAScript 6 的部分支持,優化對調用堆棧(Call Stack)的訪問,HTML5 格式的 JavaDoc、經過利用最新架構的 CPU 指令來加速加密解密操做,等等。

相關文章
相關標籤/搜索