最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Java 中的引用類型

 更新時(shí)間:2020年02月10日 08:47:22   作者:Oaki  
Java開發(fā)者肯定都很熟悉java中的4種引用類型,它們從強(qiáng)到弱分別是:強(qiáng)引用、軟引用、弱引用和虛引用,下面我們?cè)敿?xì)看看這些引用類型

Java 中的引用類型:強(qiáng)引用、軟引用、弱引用和虛引用

強(qiáng)引用

如 Object object = new Object(),那 object 就是一個(gè)強(qiáng)引用,如果一個(gè)對(duì)象具有強(qiáng)引用,垃圾回收器就永遠(yuǎn)不會(huì)回收它。

軟引用

軟引用用來描述一些還有用但非必需的對(duì)象。在內(nèi)存即將發(fā)生內(nèi)存溢出之前,會(huì)把這些對(duì)象列進(jìn)回收范圍之中進(jìn)行二次垃圾回收。如果這次回收還沒有足夠內(nèi)存,才會(huì)發(fā)生內(nèi)存溢出現(xiàn)象。

另:軟引用可用來實(shí)現(xiàn)內(nèi)存敏感的高速緩存。

弱引用

用來描述非必需的對(duì)象。被弱引用關(guān)聯(lián)的對(duì)象只能存活到下一次垃圾收集發(fā)生之前。當(dāng)垃圾回收時(shí),無論當(dāng)前內(nèi)存是否足夠,都將回收被弱引用關(guān)聯(lián)的對(duì)象。

虛引用

最弱的一種引用關(guān)系。無法通過一個(gè)虛引用獲得一個(gè)對(duì)象實(shí)例;一個(gè)對(duì)象是否有虛引用,都不會(huì)對(duì)其生存周期構(gòu)成影響。

設(shè)置虛引用的唯一目的是在垃圾回收時(shí)收到一個(gè)系統(tǒng)通知。

虛引用與軟引用、弱引用的一個(gè)區(qū)別在于:虛引用必須和引用隊(duì)列(ReferenceQueue)聯(lián)合使用。當(dāng)垃圾回收器準(zhǔn)備回收一個(gè)對(duì)象時(shí),如果發(fā)現(xiàn)它還有虛引用,會(huì)在垃圾回收之前,將該引用加入到與之對(duì)應(yīng)關(guān)聯(lián)的引用隊(duì)列中。程序通過判斷引用隊(duì)列中是否已經(jīng)加入了該虛引用,來了解被引用的對(duì)象是否將被垃圾回收。程序如果已經(jīng)發(fā)現(xiàn)該虛引用被加入了引用隊(duì)列中,就會(huì)將所引用的對(duì)象的內(nèi)存被回收之前采取必要的行動(dòng)。

軟引用、弱引用的使用場(chǎng)景原理分析:實(shí)現(xiàn)內(nèi)存敏感的高速緩存。

相關(guān)文章

  • Spring Boot集成Kafka的示例代碼

    Spring Boot集成Kafka的示例代碼

    本篇文章主要介紹了Spring Boot集成Kafka的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • 深入理解Mybatis二級(jí)緩存

    深入理解Mybatis二級(jí)緩存

    與一級(jí)緩存相比,二級(jí)緩存范圍更大了一些,可以被多個(gè)SqlSession所共用。下面通過本文帶領(lǐng)大家一起學(xué)習(xí)mybatis二級(jí)緩存知識(shí),一起看看吧
    2016-12-12
  • springboot應(yīng)用服務(wù)啟動(dòng)事件的監(jiān)聽實(shí)現(xiàn)

    springboot應(yīng)用服務(wù)啟動(dòng)事件的監(jiān)聽實(shí)現(xiàn)

    本文主要介紹了springboot應(yīng)用服務(wù)啟動(dòng)事件的監(jiān)聽實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Java中Map的computeIfAbsent方法詳解

    Java中Map的computeIfAbsent方法詳解

    這篇文章主要介紹了Java的Map中computeIfAbsent方法詳解,在jdk1.8中Map接口新增了一個(gè)computeIfAbsent方法,這是Map接口中的默認(rèn)實(shí)現(xiàn)該方法是首先判斷緩存Map中是否存在指定的key的值,如果不存在,會(huì)調(diào)用mappingFunction(key)計(jì)算key的value,需要的朋友可以參考下
    2023-11-11
  • Java Lambda表達(dá)式的方法引用和構(gòu)造器引用實(shí)例分析

    Java Lambda表達(dá)式的方法引用和構(gòu)造器引用實(shí)例分析

    這篇文章主要介紹了Java Lambda表達(dá)式的方法引用和構(gòu)造器引用,結(jié)合實(shí)例形式分析了Lambda表達(dá)式的方法引用和構(gòu)造器引用相關(guān)原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-09-09
  • Springboot整合Redis實(shí)現(xiàn)超賣問題還原和流程分析(分布式鎖)

    Springboot整合Redis實(shí)現(xiàn)超賣問題還原和流程分析(分布式鎖)

    最近在研究超賣的項(xiàng)目,寫一段簡(jiǎn)單正常的超賣邏輯代碼,多個(gè)用戶同時(shí)操作同一段數(shù)據(jù)出現(xiàn)問題,糾結(jié)該如何處理呢?下面小編給大家?guī)砹薙pringboot整合Redis實(shí)現(xiàn)超賣問題還原和流程分析,感興趣的朋友一起看看吧
    2021-10-10
  • MyBatis?多表聯(lián)合查詢及優(yōu)化方法

    MyBatis?多表聯(lián)合查詢及優(yōu)化方法

    大家都知道Hibernate 是全自動(dòng)的數(shù)據(jù)庫(kù)持久層框架,它可以通過實(shí)體來映射數(shù)據(jù)庫(kù),通過設(shè)置一對(duì)多、多對(duì)一、一對(duì)一、多對(duì)多的關(guān)聯(lián)來實(shí)現(xiàn)聯(lián)合查詢,接下來通過本文給大家介紹MyBatis?多表聯(lián)合查詢及優(yōu)化,需要的朋友可以參考下
    2022-08-08
  • MyBatis typeAliases元素標(biāo)簽(含注解方式)及其屬性、設(shè)置方式

    MyBatis typeAliases元素標(biāo)簽(含注解方式)及其屬性、設(shè)置方式

    這篇文章主要介紹了MyBatis typeAliases元素標(biāo)簽(含注解方式)及其屬性、設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • java 實(shí)現(xiàn)最小二叉樹堆排序的實(shí)例

    java 實(shí)現(xiàn)最小二叉樹堆排序的實(shí)例

    這篇文章主要介紹了java 實(shí)現(xiàn)最小二叉樹堆排序的實(shí)例的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • Java為什么基本數(shù)據(jù)類型不需要進(jìn)行創(chuàng)建對(duì)象?

    Java為什么基本數(shù)據(jù)類型不需要進(jìn)行創(chuàng)建對(duì)象?

    今天小編就為大家分享一篇關(guān)于Java為什么基本數(shù)據(jù)類型不需要進(jìn)行創(chuàng)建對(duì)象?,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04

最新評(píng)論

沐川县| 平罗县| 屯留县| 南丰县| 合山市| 新邵县| 长顺县| 宜川县| 外汇| 图们市| 寿光市| 鄂伦春自治旗| 通州区| 文化| 黄骅市| 改则县| 和硕县| 百色市| 吉水县| 巨鹿县| 中西区| 凤山县| 阳泉市| 县级市| 钦州市| 常熟市| 客服| 临桂县| 黄山市| 拉萨市| 云阳县| 大冶市| 南开区| 虞城县| 阜康市| 盱眙县| 自治县| 崇明县| 和平县| 台湾省| 新河县|