Java 9的新特性總結
模塊化系統–Jigsaw 項目
模塊化是一個很通用的概念。在軟件中,模塊化可以運用到編寫和實現一個程序和計算系統,他們都是作為獨立的模塊,而不是作為一個單一的和完整的設計。
Java 9中主要的變化是已經實現的模塊化系統。模塊化的引入使得JDK可以在更小的設備中使用。采用模塊化系統的應用程序只需要這些應用程序所需的那部分JDK模塊,而非是整個JDK框架了。模塊化系統也可以將公共的類封裝到一個模塊中。因此一個封裝在模塊中的定義為public的類不能再任何地方使用,除非一個模塊顯式的定義了這個模塊。由于Java 9的這個變化,Java內部的API(例如com.sun.*)默認情況下是不能使用的。
簡而言之,所有的模塊將需要在所謂的module-info.java文件中進行描述,這個文件是位于Java代碼結構的頂層。
我們的模塊car(汽車)需要依賴+模塊engine(引擎)和需要導出handling(操縱)包。
需要更多深入的例子可以查看OpenJDK中項目Jigsaw:模塊化系統快速入門(http://openjdk.java.net/projects/jigsaw/quick-start)。
JShell–Java 9 REPL
你可能問:“REPL是什么”?REPL是一種快速運行語句的命令行工具。
在Java中,如果你想執行一個簡單的語句,我們要么創建一個帶main方法的類,要么創建一個可以執行的Test類。當你正在啟動Java程序的時候,如果你想執行某些語句并且想立刻看見執行結果,上面的做法看起來不是那么有用了。
JShell試圖去解決這個問題。Java開發者可以利用JShell在沒有創建類的情況下直接聲明變量,計算表達式,執行語句。JShell也可以從文件中加載語句或者將語句保存到文件中。并且JShell也可以是tab鍵進行自動補全的特性。
集合工廠方法
在Java 9之前,Java只能利用一些實用方法(例如:Collections.unmodifiableCollection(Collection《? extends T》 c))創建一個不可修改視圖的集合。例如,我們可以在Java 8中使用一條如下所示的語句,創建一個Collection的不可修改的視圖。雖然這是最簡單的創建方式,但是看起來很糟糕!不是嗎?
現在,Java 9引入了一些有用的工廠方法來創建不可修改的集合。我們現在在Java 9中創建不可修改的Map集合
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%