摘要:還有就是,虛引用創(chuàng)建的時候,必須帶有,使用例子可用場景對象銷毀前的一些操作,比如說資源釋放等。強調(diào)上訴所說的幾類引用,都是指對象本身的引用,而不是指的四個子類的引用等。
強引用-FinalReference
介紹:
強引用是平常中使用最多的引用,強引用在程序內(nèi)存不足(OOM)的時候也不會被回收,使用方式:
String str = new String("str");
這個str就是強引用。
可用場景:
地球人都知道,但是我講不出來。
介紹:
軟引用在程序內(nèi)存不足時,會被回收,使用方式:
// 注意:wrf這個引用也是強引用,它是指向SoftReference這個對象的, // 這里的軟引用指的是指向new String("str")的引用,也就是SoftReference類中T SoftReferencewrf = new SoftReference (new String("str"));
可用場景:
創(chuàng)建緩存的時候,創(chuàng)建的對象放進緩存中,當內(nèi)存不足時,JVM就會回收早先創(chuàng)建的對象。PS:圖片編輯器,視頻編輯器之類的軟件可以使用這種思路。
軟引用使用例子傳送門:https://www.cnblogs.com/mjorc...
介紹:
弱引用就是只要JVM垃圾回收器發(fā)現(xiàn)了它,就會將之回收,使用方式:
WeakReferencewrf = new WeakReference (str);
可用場景:
Java源碼中的java.util.WeakHashMap中的key就是使用弱引用,我的理解就是,一旦我不需要某個引用,JVM會自動幫我處理它,這樣我就不需要做其它操作。
弱引用使用例子傳送門:http://www.importnew.com/2120...
介紹:
虛引用的回收機制跟弱引用差不多,但是它被回收之前,會被放入ReferenceQueue中。注意哦,其它引用是被JVM回收后才被傳入ReferenceQueue中的。由于這個機制,所以虛引用大多被用于引用銷毀前的處理工作。還有就是,虛引用創(chuàng)建的時候,必須帶有ReferenceQueue,使用例子:
PhantomReferenceprf = new PhantomReference (new String("str"), new ReferenceQueue<>());
可用場景:
對象銷毀前的一些操作,比如說資源釋放等。Object.finalize()雖然也可以做這類動作,但是這個方式即不安全又低效(傳送門:http://blog.csdn.net/aitangyo...,so。
上訴所說的幾類引用,都是指對象本身的引用,而不是指Reference
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/70928.html
摘要:數(shù)據(jù)結(jié)構(gòu)和算法樹快速排序,堆排序,插入排序其實八大排序算法都應(yīng)該了解一致性算法,一致性算法的應(yīng)用的內(nèi)存結(jié)構(gòu)。如何存儲一個的。八大排序算法一定要手敲一遍快排,堆排尤其重要。面試是一個雙向選擇的過程,不要抱著畏懼的心態(tài)去面試,不利于自己的發(fā)揮。 前言 16年畢業(yè)到現(xiàn)在也近兩年了,最近面試了阿里集團(菜鳥網(wǎng)絡(luò),螞蟻金服),網(wǎng)易,滴滴,點我達,最終收到點我達,網(wǎng)易offer,螞蟻金服二面掛掉,...
摘要:中四種修飾符的限制范圍。數(shù)據(jù)結(jié)構(gòu)和算法樹快速排序,堆排序,插入排序其實八大排序算法都應(yīng)該了解一致性算法,一致性算法的應(yīng)用的內(nèi)存結(jié)構(gòu)。的部署方式,主從,集群。八大排序算法一定要手敲一遍快排,堆排尤其重要。 前言 15年畢業(yè)到現(xiàn)在也近三年了,最近面試了阿里集團(菜鳥網(wǎng)絡(luò),螞蟻金服),網(wǎng)易,滴滴,點我達,最終收到點我達,網(wǎng)易offer,螞蟻金服二面掛掉,菜鳥網(wǎng)絡(luò)一個月了還在流程中...最終有...
摘要:簡單來說就是引用和引用隊列關(guān)聯(lián)起來引用的構(gòu)造函數(shù)傳入隊列,然后引用被回收的時候會被添加到隊列中,然后使用方法可以返回引用。 引語: ????我們知道java相比C,C++中沒有令人頭痛的指針,但是卻有和指針作用相似的引用對象(Reference),就是常說的引用,比如,Object obj = new Object();這個obj就是引用,它指向的是真正的對象Object的地址,不過今...
閱讀 1993·2021-11-24 10:45
閱讀 1850·2021-10-09 09:43
閱讀 1291·2021-09-22 15:38
閱讀 1219·2021-08-18 10:19
閱讀 2837·2019-08-30 15:55
閱讀 3057·2019-08-30 12:45
閱讀 2962·2019-08-30 11:25
閱讀 356·2019-08-29 11:30