java的引用類(lèi)型的詳細(xì)介紹
•強(qiáng)引用(FinalReference),在java中,有點(diǎn)像C++的指針,通過(guò)引用,可以對(duì)堆中的對(duì)象進(jìn)行操作。強(qiáng)引用具備以下特點(diǎn):
1.強(qiáng)引用可以直接訪問(wèn)目標(biāo)對(duì)象;
2.強(qiáng)引用所指向的對(duì)象在任務(wù)時(shí)候都不會(huì)被系統(tǒng)回收;
3.強(qiáng)引用可能導(dǎo)致內(nèi)存泄露。
•軟引用(SoftReference),軟引用對(duì)象,在響應(yīng)內(nèi)存需要時(shí),由垃圾回收器決定是否清除此對(duì)象。一個(gè)持有軟件引用的對(duì)象,不會(huì)被JVM很快回收,只要有足夠的內(nèi)存,軟件引用便可能在內(nèi)存中存活相當(dāng)長(zhǎng)的時(shí)間,軟引用對(duì)象最常用于實(shí)現(xiàn)內(nèi)存敏感的緩存;
•弱引用(WeakReference),弱引用是一種比較弱的引用類(lèi)型,在系統(tǒng)GC時(shí),只要發(fā)現(xiàn)弱引用,不管系統(tǒng)堆內(nèi)存是否足夠,都會(huì)將對(duì)象回收;
•虛引用(PhantomReference),虛引用是所有引用最弱的一個(gè),一個(gè)持有虛引用的對(duì)象,和沒(méi)有引用幾乎是一樣的,隨時(shí)都可能被垃圾回收器回收。
相關(guān)文章
Java中的ThreadLocal與ThreadLocalMap詳解
這篇文章主要介紹了Java中的ThreadLocal與ThreadLocalMap詳解,ThreadLocal 是一個(gè)線程局部變量,其實(shí)的功用非常簡(jiǎn)單,就是為每一個(gè)使用該變量的線程都提供一個(gè)變量值的副本,是Java中一種較為特殊的線程綁定機(jī)制,需要的朋友可以參考下2023-09-09java實(shí)現(xiàn)簡(jiǎn)單聊天室單人版
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單聊天室的單人版,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07MyBatis-Plus中自動(dòng)填充功能的用法示例詳解
有些時(shí)候我們可能會(huì)有這樣的需求,插入或者更新數(shù)據(jù)時(shí),希望有些字段可以自動(dòng)填充數(shù)據(jù),比如密碼、version、注冊(cè)時(shí)默認(rèn)的用戶角色等,在MP中提供了這樣的功能,可以實(shí)現(xiàn)自動(dòng)填充功能,需要的朋友可以參考下2022-12-12淺析Java8新特性Lambda表達(dá)式和函數(shù)式接口
Lambda表達(dá)式理解為是 一段可以傳遞的代碼。最直觀的是使用Lambda表達(dá)式之后不用再寫(xiě)大量的匿名內(nèi)部類(lèi),簡(jiǎn)化代碼,提高了代碼的可讀性2017-08-08Java8生成時(shí)間方式及格式化時(shí)間的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Java8生成時(shí)間方式及格式化時(shí)間的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08基于Ok+Rxjava+retrofit實(shí)現(xiàn)斷點(diǎn)續(xù)傳下載
這篇文章主要為大家詳細(xì)介紹了基于Ok+Rxjava+retrofit實(shí)現(xiàn)斷點(diǎn)續(xù)傳下載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06Java編程反射機(jī)制用法入門(mén)與實(shí)例總結(jié)
這篇文章主要介紹了Java編程反射機(jī)制用法,簡(jiǎn)單說(shuō)明了反射機(jī)制的概念、原理并結(jié)合實(shí)例形式總結(jié)分析了java反射機(jī)制的簡(jiǎn)單使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-12-12