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