国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

java:強引用,軟引用,弱引用和虛引用

fengxiuping / 450人閱讀

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

強引用

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

軟引用 SoftReference

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

弱引用 Weakreference

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

虛引用 PhantomReference

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

引用隊列 ReferenceQueue

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

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

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

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

相關(guān)文章

  • Java中的四種引用類型:引用引用引用和虛引用

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

    makeFoxPlay 評論0 收藏0
  • Java四種引用簡介

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

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

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

    raoyi 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<