欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談JDK7和JDK8的區(qū)別在哪

 更新時(shí)間:2021年06月03日 09:30:28   作者:我是方小磊  
面試總是遇到這個(gè)問題,做一個(gè)小總結(jié),文中有非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下

一、接口中的default方法

一般來說接口中的方法都是不實(shí)現(xiàn)的,基本通過實(shí)現(xiàn)類來實(shí)現(xiàn)方法。但是jdk8中提供了一種被default修飾的方法,可以直接在接口中進(jìn)行實(shí)現(xiàn)。

二、lambda表達(dá)式

jdk8引入了lambda表達(dá)式,也可稱為closure(閉包),通常是在需要一個(gè)函數(shù),但又不想費(fèi)神去命名一個(gè)函數(shù)的場(chǎng)合下使用,也就是指匿名函數(shù)。
lambda允許把函數(shù)作為一個(gè)方法的參數(shù)(函數(shù)作為參數(shù)傳遞進(jìn)方法中)。

由于其幾乎被所有主流開發(fā)語(yǔ)言支持。是java8新引入的一種語(yǔ)法,是一種緊湊的傳遞代碼的方式。使用lambda表達(dá)式可以使代碼變的更加簡(jiǎn)潔緊湊。

三、函數(shù)式接口

函數(shù)式接口的引入是為了函數(shù)式編程的,函數(shù)式編程往往依賴于lambda表達(dá)式。

定義函數(shù)式接口有兩個(gè)步驟:

1)確保接口中有且僅有一個(gè)抽象方法:
2)使用注解@FunctionalInterface修飾接口

四、StreamAPI

JDK8中引入了StreamAPI,對(duì)于學(xué)過Flink或Spark的學(xué)者應(yīng)該對(duì)此比較熟悉,其實(shí)就是類似于一種流式的數(shù)據(jù)處理,從dataSource到中間的operator操作,再到最后的dataSink。

Stream的中間操作有map,filter等操作。而流式的數(shù)據(jù)處理往往就是通過函數(shù)式編程實(shí)現(xiàn)的。

在這里插入圖片描述

五、移出永久代,元空間替換

JDK7使用永久代存儲(chǔ)類的元數(shù)據(jù),JDK8使用元空間存儲(chǔ)類的元數(shù)據(jù)。元空間和永久代都是用來存儲(chǔ)class相關(guān)信息,包括class對(duì)象的Method,F(xiàn)ield等,元空間和永久代其實(shí)都是方法區(qū)的實(shí)現(xiàn),只是實(shí)現(xiàn)有所不同,所以說方法區(qū)其實(shí)只是一種JVM的規(guī)范。

區(qū)別:

兩者最大的區(qū)別是元空間使用本地內(nèi)存,而永久代使用的是JVM的內(nèi)存。

元空間優(yōu)勢(shì):

優(yōu)勢(shì)就是元數(shù)據(jù)分配只受本地內(nèi)存大小的限制。本地內(nèi)存剩余多少理論上metaspace就可以有多大,這解決了空間不足的問題,不過也不可能任其無限壯大,JVM默認(rèn)在運(yùn)行時(shí)會(huì)根據(jù)需要?jiǎng)討B(tài)的設(shè)置其大小

六、HashMap中的優(yōu)化

1)增加紅黑樹

2)解決jdk1.7多線程下的死循環(huán):

擴(kuò)容使用尾插法,拋棄頭插法

3)rehash的優(yōu)化:

jdk7擴(kuò)容的rehash是重新計(jì)算桶的位置,而jdk8則進(jìn)行了優(yōu)化,不需要進(jìn)行重新計(jì)算。

七、currentHashMap的優(yōu)化

jdk7是使用分段鎖實(shí)現(xiàn)線程安全,jdk則使用sy關(guān)鍵字和大量的CAS操作實(shí)現(xiàn)。

到此這篇關(guān)于淺談JDK7和JDK8的區(qū)別在哪的文章就介紹到這了,更多相關(guān)JDK7和JDK8的區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決zuulGateway網(wǎng)關(guān)添加路由異常熔斷問題

    解決zuulGateway網(wǎng)關(guān)添加路由異常熔斷問題

    這篇文章主要介紹了解決zuulGateway網(wǎng)關(guān)添加路由異常熔斷問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 基于hibernate實(shí)現(xiàn)的分頁(yè)技術(shù)實(shí)例分析

    基于hibernate實(shí)現(xiàn)的分頁(yè)技術(shù)實(shí)例分析

    這篇文章主要介紹了基于hibernate實(shí)現(xiàn)的分頁(yè)技術(shù),結(jié)合實(shí)例形式分析了Hibernate分頁(yè)技術(shù)的原理,實(shí)現(xiàn)步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • Java攔截器Interceptor實(shí)現(xiàn)原理及代碼示例

    Java攔截器Interceptor實(shí)現(xiàn)原理及代碼示例

    本文詳細(xì)講解了Java攔截器Interceptor實(shí)現(xiàn)原理及代碼示例,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • Java超詳細(xì)介紹封裝與訪問控制修符

    Java超詳細(xì)介紹封裝與訪問控制修符

    封裝是一個(gè)非常廣泛的概念,小到一個(gè)屬性的封裝,大到一個(gè)框架或者一個(gè)項(xiàng)目的封裝,文中通過實(shí)例代碼將詳細(xì)介紹封裝與訪問控制修飾符
    2022-05-05
  • Springboot中@RequestParam和@PathVariable的用法與區(qū)別詳解

    Springboot中@RequestParam和@PathVariable的用法與區(qū)別詳解

    這篇文章主要介紹了Springboot中@RequestParam和@PathVariable的用法與區(qū)別詳解,RESTful API設(shè)計(jì)的最佳實(shí)踐是使用路徑參數(shù)來標(biāo)識(shí)一個(gè)或多個(gè)特定資源,而使用查詢參數(shù)來對(duì)這些資源進(jìn)行排序/過濾,需要的朋友可以參考下
    2024-01-01
  • Java序列化和反序列化示例介紹

    Java序列化和反序列化示例介紹

    大家好,本篇文章主要講的是Java序列化和反序列化示例介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Java泛型類型擦除

    Java泛型類型擦除

    這篇文章主要為大家詳細(xì)介紹了Java泛型類型擦除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • MyBatis使用標(biāo)簽動(dòng)態(tài)操作數(shù)據(jù)庫(kù)詳解

    MyBatis使用標(biāo)簽動(dòng)態(tài)操作數(shù)據(jù)庫(kù)詳解

    這篇文章主要介紹了MyBatis中使用標(biāo)簽動(dòng)態(tài)操作數(shù)據(jù)庫(kù)的方法,動(dòng)態(tài)SQL是指在運(yùn)行PL/SQL塊時(shí)動(dòng)態(tài)輸入SQL語(yǔ)句,是Mybatis的強(qiáng)大特性之?,能夠完成不同條件下不同的sql拼接,需要的朋友可以參考下
    2024-05-05
  • 圖文詳解MyEclipse更換背景主題的方法

    圖文詳解MyEclipse更換背景主題的方法

    今天小編就為大家分享一篇關(guān)于MyEclipse更換背景主題的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 網(wǎng)關(guān)Spring Cloud Gateway HTTP超時(shí)配置問題

    網(wǎng)關(guān)Spring Cloud Gateway HTTP超時(shí)配置問題

    這篇文章主要介紹了網(wǎng)關(guān)Spring Cloud Gateway HTTP超時(shí)配置問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評(píng)論