成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

java:強(qiáng)引用,軟引用,弱引用和虛引用

fengxiuping / 500人閱讀

摘要:強(qiáng)引用如果一個(gè)對(duì)象具有強(qiáng)引用垃圾回收器絕不會(huì)回收它當(dāng)內(nèi)存空間不足時(shí)虛擬機(jī)寧愿拋出錯(cuò)誤使程序異常終止也不會(huì)靠隨意回收具有強(qiáng)引用的對(duì)象來解決內(nèi)存不足問題軟引用如果內(nèi)存空間充足垃圾回收器就不會(huì)回收它如果內(nèi)存空間不足就會(huì)回收這些對(duì)象的內(nèi)存只要垃圾回

強(qiáng)引用

如果一個(gè)對(duì)象具有強(qiáng)引用,垃圾回收器絕不會(huì)回收它.當(dāng)內(nèi)存空間不足時(shí),java虛擬機(jī)寧愿拋出OutOfMemoryError錯(cuò)誤,使程序異常終止,也不會(huì)靠隨意回收具有強(qiáng)引用的對(duì)象來解決內(nèi)存不足問題.

軟引用 SoftReference

如果內(nèi)存空間充足,垃圾回收器就不會(huì)回收它;如果內(nèi)存空間不足,就會(huì)回收這些對(duì)象的內(nèi)存.只要垃圾回收器沒有回收它,該對(duì)象就可以繼續(xù)被應(yīng)用程序使用.軟引用可以實(shí)現(xiàn)內(nèi)存敏感的高速緩存.

弱引用 Weakreference

只具有弱引用的對(duì)象具有更短的生命周期.在垃圾回收器線程掃描它所管轄的內(nèi)存區(qū)域的過程中,一旦發(fā)現(xiàn)了只具有弱引用的對(duì)象,不管當(dāng)前內(nèi)存空間足夠與否,都會(huì)回收它的內(nèi)存.不過,垃圾回收器是一個(gè)優(yōu)先級(jí)很低對(duì)的線程,因此不一定會(huì)很快發(fā)現(xiàn)那些只具有弱引用的對(duì)象.

虛引用 PhantomReference

虛引用并不會(huì)決定對(duì)象的生命周期.如果一個(gè)對(duì)象僅持有虛引用,那么他就和沒有任何引用一樣,在任何時(shí)候都可能被回收.

引用隊(duì)列 ReferenceQueue

引用隊(duì)列可以和軟引用,弱引用和虛引用聯(lián)合使用.并且虛引用必須和引用隊(duì)列聯(lián)合使用.如果軟引用(弱引用或者虛引用)所引用的對(duì)象被垃圾回收,java虛擬機(jī)就會(huì)把這個(gè)引用加入到與之關(guān)聯(lián)的引用隊(duì)列中.

        String reference = "hello";
        //引用隊(duì)列
        ReferenceQueue queue = new ReferenceQueue<>();
        //弱引用
        WeakReference softReference = new WeakReference(reference,queue);
        reference = null;
        //取出弱引用持有的String對(duì)象
        String str = softReference.get();
        //取出引用隊(duì)列中保存的引用對(duì)象
        Reference poll = queue.poll();

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/77418.html

相關(guān)文章

  • Java中的四種引用類型:強(qiáng)引用引用、引用和虛引用

    摘要:虛引用與軟引用和弱引用的一個(gè)區(qū)別在于虛引用必須和引用隊(duì)列聯(lián)合使用。 本文已同步至個(gè)人博客liaosis blog 在Java中是由JVM負(fù)責(zé)內(nèi)存的分配和回收,這是它的優(yōu)點(diǎn)(簡(jiǎn)化編程者的工作,不需要像C語言那樣去手動(dòng)操作內(nèi)存),但同時(shí)也是它的缺點(diǎn)(不夠靈活,垃圾回收對(duì)于編程者來說是不可控的)。 在JDK1.2以前,如果一個(gè)對(duì)象不被任何變量引用,則程序無法再次使用這個(gè)對(duì)象,這個(gè)對(duì)象最終會(huì)...

    makeFoxPlay 評(píng)論0 收藏0
  • Java四種引用簡(jiǎn)介

    摘要:簡(jiǎn)單來說就是引用和引用隊(duì)列關(guān)聯(lián)起來引用的構(gòu)造函數(shù)傳入隊(duì)列,然后引用被回收的時(shí)候會(huì)被添加到隊(duì)列中,然后使用方法可以返回引用。 引語: ????我們知道java相比C,C++中沒有令人頭痛的指針,但是卻有和指針作用相似的引用對(duì)象(Reference),就是常說的引用,比如,Object obj = new Object();這個(gè)obj就是引用,它指向的是真正的對(duì)象Object的地址,不過今...

    springDevBird 評(píng)論0 收藏0
  • 近期Java高級(jí)工程師面試總結(jié)

    摘要:面試總結(jié)最近兩周面試了幾家公司高級(jí)工程師的職位,主要有宜信網(wǎng)信金融阿里高德口袋購物。目前有部分公司已經(jīng)面試通過,兩家在等消息。今天趁熱把常見面試內(nèi)容總結(jié)一下??梢杂脕硗瓿山y(tǒng)一命名服務(wù)狀態(tài)同步服務(wù)集群管理分布式應(yīng)用配置項(xiàng)等管理工作。 面試總結(jié) 最近兩周面試了幾家公司Java高級(jí)工程師的職位,主要有宜信、網(wǎng)信金融、阿里高德、口袋購物。目前有部分公司已經(jīng)面試通過,兩家在等消息。今天趁熱把常見...

    raoyi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<