在經(jīng)歷了一輪又一輪的跳票,一次又一次的延遲之后,萬(wàn)眾期待的Java 9終于來(lái)了。迫不及待想要嘗鮮的程序員們,可以點(diǎn)擊以下的鏈接下載:http://www.oracle.com/technetwork/java/javase/downloads/index.html。
JDK 9是自2014年3月之后第一次升級(jí)的Java標(biāo)準(zhǔn)版本,從最開(kāi)始,程序員就對(duì)此抱有了極大的熱情,如今千呼萬(wàn)喚始出來(lái),我們就一起來(lái)看看Java 9有哪些新特性:
Project Jigsaw — Module System
Java 9的主要改變是Project Jigsaw的形式,這是一個(gè)全新的模塊系統(tǒng)。作為Java 9的重要特征,Project Jigsaw在受到關(guān)注的同時(shí)也避免不了受到diss。這個(gè)功能會(huì)使JDK、run-time images以及Java 源代碼等模塊化,甚至開(kāi)發(fā)者還可以創(chuàng)建自己的模塊來(lái)簡(jiǎn)化代碼。
JShell
Java 9中引入了JShell工具,它讓很多程序員為之瘋狂,為Java平臺(tái)帶來(lái)了讀入-求值-打印-循環(huán)(Read-Eval-Print-Loop,REPL)功能。它的目的在于以即時(shí)結(jié)果和反饋的形式,簡(jiǎn)化原型的實(shí)現(xiàn)并幫助我們探索語(yǔ)言在編碼時(shí)的可選項(xiàng)。
輕量級(jí)JSON API
Java 9中有一個(gè)輕量級(jí)的API,它支持JSON文檔和數(shù)據(jù)流的生成和使用,在Java 9的主要特性中,這是最值得期待的,同時(shí)也是最有望帶來(lái)性能改進(jìn)的。
Process API Changes
Process API的改進(jìn)使得Java 9對(duì)OS process擁有更好的控制和管理方式。
Segmented Code Cache
JDK 9中的代碼段在Segmented Code Cache的作用下,可以被更加細(xì)分,而且每個(gè)代碼段還可以包括特定類(lèi)型的編譯代碼,這個(gè)功能同樣也有望提升Java 9性能。
Ahead of time compilation
雖然還在實(shí)驗(yàn)階段,但是AOT編譯有望提高應(yīng)用程序的啟動(dòng)時(shí)間。
New HTTP 2 Client
如果沒(méi)有新的HTTP客戶(hù)端來(lái)實(shí)現(xiàn)HTTP / 2和WebSocket,那么Java 9是不完善的。它將改進(jìn)Web頁(yè)面加載時(shí)間、提高性能和減少資源使用。
Parser API for Nashorn
JDK 9中附帶了一個(gè)Nashorn的parser API,它的目標(biāo)是Java在本地JVM中實(shí)現(xiàn)輕量級(jí)高性能 JS runtime。這個(gè)新特性可以保障Java 9更好的融合JavaScript和Java的兩方之力。
除此之外,Java 9還包含以下特性:
Multi-release JARs
Process API updates
Garbage Collector improvements
Better Javadoc
Stream API improvements
Private interface methods
當(dāng)然,這還只是冰山一角,Java 9的功能集實(shí)際要長(zhǎng)得多,大家可以去以下地址查看Java 9的完整功能集:https://docs.oracle.com/javase/9/whatsnew/toc.htm#JSNEW-GUID-9205ABFD-2024-40C8-B01E-A7328BBE4276。
對(duì)于姍姍來(lái)遲的Java 9,你有什么看法和建議?歡迎在下方留言評(píng)論。