您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Java8的新增特性的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
Java8核心新特性介紹
Java 8可謂是自Java 5以來最具革命性的版本了,她在語言、編譯器、類庫、開發工具以及Java虛擬機等方面都帶來了不少新特性,其中最為核心的為Lambda 表達式與Stream API (其他新特性見文末附錄)
★Lambda表達式
Lambda表達式可以說是Java 8最大的賣點,她將函數式編程引入了Java。Lambda允許把函數作為一個方法的參數,或者把代碼看成數據。
★Stream API
Stream API是把真正的函數式編程風格引入到Java中。其實簡單來說可以把Stream理解為MapReduce。從語法上看,也很像linux的管道、或者鏈式編程,代碼寫起來簡潔明了,非常酷帥!
1.代碼簡潔,函數式編程寫出的代碼簡潔且意圖明確,比如使用stream接口讓你告別for循環。
2.多核友好,Java函數式編程使得編寫并行程序如此簡單,只需要調用一下parallel()方法即可。
Java8其他新特性
●接口的默認方法與靜態方法
我們可以在接口中定義默認方法,使用default關鍵字,并提供默認的實現。所有實現這個接口的類都會接受默認方法的實現,除非子類提供的自己的實現。
●方法引用
通常與Lambda表達式聯合使用,可以直接引用已有Java類或對象的方法。
●重復注解
Java 8引入重復注解,相同的注解在同一地方也可以聲明多次。
●擴展注解的支持
Java 8擴展了注解的上下文,幾乎可以為任何東西添加注解,包括局部變量、泛型類、父類與接口的實現,連方法的異常也能添加注解。
●Optional
Java 8引入Optional類來防止空指針異常,使用Optional類我們就不用顯式進行空指針檢查了。
●Date/Time API (JSR 310)
Java 8新的Date-Time API (JSR 310)受Joda-Time的影響,提供了新的java.time包,可以用來替代java.util.Date和java.util.Calendar。
●JavaScript引擎Nashorn
Nashorn允許在JVM上開發運行JavaScript應用,允許Java與JavaScript相互調用。
●Base64
在Java 8中,Base64編碼成為了Java類庫的標準。Base64類同時還提供了對URL、MIME友好的編碼器與解碼器。
●更好的類型推測機制
Java 8在類型推測方面有了很大的提高,這就使代碼更整潔,不需要太多的強制類型轉換了。
●編譯器優化
Java 8將方法的參數名加入了字節碼中,這樣在運行時通過反射就能獲取到參數名,只需要在編譯時使用-parameters參數。
●并行(parallel)數組
支持對數組進行并行處理,主要是parallelSort()方法,它可以在多核機器上極大提高數組排序的速度。
●并發(Concurrency)
在新增Stream機制與Lambda的基礎之上,加入了一些新方法來支持聚集操作。
●Nashorn引擎jjs
基于Nashorn引擎的命令行工具。它接受一些JavaScript源代碼為參數,并且執行這些源代碼。
●類依賴分析器jdeps
可以顯示Java類的包級別或類級別的依賴。
●JVM的PermGen空間被移除
取代它的是Metaspace(JEP 122)。
以上就是Java8的新增特性的知識匯總,內容較為全面,小編相信有部分知識點可能是我們日常工作可能會見到或用到的。希望你能通過這篇文章學到更多知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。