JAVA 9(aka jdk 1.9)是JAVA編程語言開發(fā)的主要版本。 它的最初版本于2017年9月21日發(fā)布。Java 9發(fā)布的主要目標(biāo)是 -
- 使JDK和Java標(biāo)準(zhǔn)版平臺模塊化,它可以很好地縮小運(yùn)行在小型計(jì)算設(shè)備中。
- 提高JDK和Java實(shí)現(xiàn)的整體安全性。
- 使Java代碼庫和大型應(yīng)用程序的構(gòu)建過程和維護(hù)變得輕松,適用于JAVA SE和EE平臺。
- 為Java平臺設(shè)計(jì)和實(shí)現(xiàn)一個(gè)標(biāo)準(zhǔn)模塊系統(tǒng),可以很容易地應(yīng)用于平臺和JDK。
Java9 新功能
Java 8中增加了90多項(xiàng)增強(qiáng)功能,其中最重要的增強(qiáng)功能如下所述 -
- 模塊化 - 作為模塊引入的一種新型Java編程組件,它是一種有名,自描述的代碼和數(shù)據(jù)集合。
- REPL(JShell) - 添加到Java平臺的Read-Eval-Print Loop(REPL)功能。
- HTTP 2客戶端 - 支持
Websockets
和HTTP 2
流和服務(wù)器推送功能的新HTTPClient API。 - 改進(jìn)的JavaDocs - 支持HTML5輸出生成,為生成的API文檔提供搜索框。
- Multirelease JAR - 增強(qiáng)JAR格式,以便多個(gè)Java版本特定版本的類文件可以共存于單個(gè)存檔中。
- 集合工廠方法 - 用于List,Set和Map接口的新靜態(tài)工廠方法,以創(chuàng)建這些集合的不可變實(shí)例。
- 專用接口方法 - 使用私有和私有靜態(tài)方法的增強(qiáng)接口。
- 過程API改進(jìn) - 改進(jìn)的API來控制和管理操作系統(tǒng)過程。
- 流API改進(jìn) - 通過允許過濾對象序列化數(shù)據(jù)的傳入流,從而增強(qiáng)安全性和健壯性。
- 嘗試使用資源改進(jìn) - 現(xiàn)在,最終變量可以在
try-with-resources
語句中用作資源。 - 增強(qiáng)@Deprecated注解 - 修改了
@Deprecated
注釋,以提供有關(guān)API狀態(tài)和預(yù)期處置的更多信息。 - 內(nèi)部類菱形操作符 - 允許菱形操作符與匿名類一起使用,如果可以表示推斷類型的參數(shù)類型。
- 可選類改進(jìn) - 將新的有用方法添加到
java.util.Optional
類中。 - 多分辨率圖像API - 支持將具有不同分辨率的一組圖像封裝成單個(gè)多分辨率圖像。
- CompletableFuture API改進(jìn) -
CompletableFuture
類的異步機(jī)制可以在ProcessHandle.onExit
方法退出時(shí)執(zhí)行操作。 - 輕量級JSON - 一種輕量級API,用于在Java 9中通過json使用和生成文檔和數(shù)據(jù)流。
- Reactive Streams API - 已引入Java SE 9中新的
Reactive Streams API
以支持java 9中的響應(yīng)式編程。