目錄:
1. LAMBDA表達(dá)式(重點(diǎn))
2. 函數(shù)式接口
3. 方法引用于構(gòu)造器引用
4. Stream API(重點(diǎn))
5. 接口中的默認(rèn)方法與靜態(tài)方法
6. 新時(shí)間日期API
7. 其他
除此之外,JDK8還對(duì)底層數(shù)據(jù)結(jié)構(gòu)和內(nèi)存結(jié)構(gòu)有所更改,提高性能
比如底層的HashMap,鏈表長(zhǎng)度為8的時(shí)候,總長(zhǎng)度64。那么鏈表變?yōu)榧t黑樹(shù)
concurrentHashMap在jdk7采用的分段鎖技術(shù),而jdk1.8采用的是無(wú)鎖同步底層的CAS
jdk1.8的內(nèi)存結(jié)構(gòu)也有所改變,取消了永久區(qū),改為了元數(shù)據(jù)區(qū)metaspace存在物理內(nèi)存中,減少了溢出
LAMBDA表達(dá)式是一個(gè)匿名函數(shù),可以理解為一段可傳遞的代碼
“->”引入箭頭表達(dá)符,可以簡(jiǎn)化匿名類的代碼
左側(cè):lambda參數(shù)列表
右側(cè):表達(dá)式中應(yīng)執(zhí)行的功能
語(yǔ)法功能一:無(wú)參表達(dá)式 ()->System.out.println("Hello");
語(yǔ)法功能二:有一個(gè)參數(shù),無(wú)返回值:(x) -> system.out.ln(x);且參數(shù)括號(hào)可以不寫(xiě)
語(yǔ)法功能三:多參數(shù),有返回值(x,y) -> Integer.compare(x,y)
參數(shù)類型可以不寫(xiě),JVM通過(guò)下文推斷