溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java8的新增特性有哪些

發(fā)布時間:2020-06-04 17:49:02 來源:億速云 閱讀:307 作者:Leah 欄目:編程語言

這篇文章給大家分享的是有關(guān)Java8的新增特性的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

Java8核心新特性介紹

Java 8可謂是自Java 5以來最具革命性的版本了,她在語言、編譯器、類庫、開發(fā)工具以及Java虛擬機(jī)等方面都帶來了不少新特性,其中最為核心的為Lambda 表達(dá)式與Stream API (其他新特性見文末附錄)

★L(fēng)ambda表達(dá)式

Lambda表達(dá)式可以說是Java 8最大的賣點,她將函數(shù)式編程引入了Java。Lambda允許把函數(shù)作為一個方法的參數(shù),或者把代碼看成數(shù)據(jù)。

★Stream API

Stream API是把真正的函數(shù)式編程風(fēng)格引入到Java中。其實簡單來說可以把Stream理解為MapReduce。從語法上看,也很像linux的管道、或者鏈?zhǔn)骄幊?,代碼寫起來簡潔明了,非??釒洠?/p>

1.代碼簡潔,函數(shù)式編程寫出的代碼簡潔且意圖明確,比如使用stream接口讓你告別for循環(huán)。

2.多核友好,Java函數(shù)式編程使得編寫并行程序如此簡單,只需要調(diào)用一下parallel()方法即可。

Java8其他新特性

●接口的默認(rèn)方法與靜態(tài)方法

我們可以在接口中定義默認(rèn)方法,使用default關(guān)鍵字,并提供默認(rèn)的實現(xiàn)。所有實現(xiàn)這個接口的類都會接受默認(rèn)方法的實現(xiàn),除非子類提供的自己的實現(xiàn)。

●方法引用

通常與Lambda表達(dá)式聯(lián)合使用,可以直接引用已有Java類或?qū)ο蟮姆椒ā?/p>

●重復(fù)注解

Java 8引入重復(fù)注解,相同的注解在同一地方也可以聲明多次。

●擴(kuò)展注解的支持

Java 8擴(kuò)展了注解的上下文,幾乎可以為任何東西添加注解,包括局部變量、泛型類、父類與接口的實現(xiàn),連方法的異常也能添加注解。

●Optional

Java 8引入Optional類來防止空指針異常,使用Optional類我們就不用顯式進(jìn)行空指針檢查了。

●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上開發(fā)運行JavaScript應(yīng)用,允許Java與JavaScript相互調(diào)用。

●Base64

在Java 8中,Base64編碼成為了Java類庫的標(biāo)準(zhǔn)。Base64類同時還提供了對URL、MIME友好的編碼器與解碼器。

●更好的類型推測機(jī)制

Java 8在類型推測方面有了很大的提高,這就使代碼更整潔,不需要太多的強(qiáng)制類型轉(zhuǎn)換了。

●編譯器優(yōu)化

Java 8將方法的參數(shù)名加入了字節(jié)碼中,這樣在運行時通過反射就能獲取到參數(shù)名,只需要在編譯時使用-parameters參數(shù)。

●并行(parallel)數(shù)組

支持對數(shù)組進(jìn)行并行處理,主要是parallelSort()方法,它可以在多核機(jī)器上極大提高數(shù)組排序的速度。

●并發(fā)(Concurrency)

在新增Stream機(jī)制與Lambda的基礎(chǔ)之上,加入了一些新方法來支持聚集操作。

●Nashorn引擎jjs

基于Nashorn引擎的命令行工具。它接受一些JavaScript源代碼為參數(shù),并且執(zhí)行這些源代碼。

●類依賴分析器jdeps

可以顯示Java類的包級別或類級別的依賴。

●JVM的PermGen空間被移除

取代它的是Metaspace(JEP 122)。

以上就是Java8的新增特性的知識匯總,內(nèi)容較為全面,小編相信有部分知識點可能是我們?nèi)粘9ぷ骺赡軙姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI