Java中的強引用,軟引用,弱引用,虛引用的作用介紹
1.強引用( Strong Reference )
最普遍的引用:Object obj=new Object()
拋出OutOfMemoryError
終止程序也不會回收具有強引用的對象
通過將對象設(shè)置為null來弱化引用,使其被回收
2.軟引用( Soft Reference )
對象處在有用但非必須的狀態(tài)
只有當內(nèi)存空間不足時,GC會回收該引用的對象的內(nèi)存
可以用來實現(xiàn)高速緩存
String str=new String( original: "abc"); //強引用 SoftReference<String> softRef=new SoftReference<String>(str);//軟引用
3.弱引用( Weak Reference )
非必須的對象,比軟引用更弱一些
GC時會被回
被回收的概率也不大,因為GC線程優(yōu)先級比較低
適用于引用偶爾被使用且不影響垃圾收集的對象
string str=new String( original: "abc"y ; weakReference<String> abcweakRef = new weakReference<String>(str);
4.虛引用( PhantomReference )
不會決定對象的生命周期
任何時候都可能被垃圾收集器回收
跟蹤對象被垃圾收集器回收的活動,起哨兵作用必須和引用隊ReferenceQueue
聯(lián)合使用
String str=new String( original: "abc"); ReferenceQueue queue = new ReferenceQueue( ) ; PhantomReference ref = new PhantomReference(str, queue);
5.強引用>軟引用>弱引用>虛引用
到此這篇關(guān)于Java中的強引用,軟引用,弱引用,虛引用的作用介紹的文章就介紹到這了,更多相關(guān)Java中的強引用,軟引用,弱引用,虛引用的作用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java基于正則表達式實現(xiàn)xml文件的解析功能詳解
這篇文章主要介紹了Java基于正則表達式實現(xiàn)xml文件的解析功能,結(jié)合實例形式分析了java使用正則表達式針對xml文件節(jié)點的相關(guān)操作技巧,需要的朋友可以參考下2017-08-08Spring線程池ThreadPoolTaskExecutor的用法及說明
這篇文章主要介紹了Spring線程池ThreadPoolTaskExecutor的用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07微服務(wù)間調(diào)用Retrofit在Spring?Cloud?Alibaba中的使用
這篇文章主要為大家介紹了微服務(wù)間調(diào)用Retrofit在Spring?Cloud?Alibaba中的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06HttpServletRequest對象簡介_動力節(jié)點Java學院整理
這篇文章主要為大家詳細介紹了HttpServletRequest對象簡介的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07java理論基礎(chǔ)Stream?reduce實現(xiàn)集合元素歸約
這篇文章主要為大家介紹了java理論基礎(chǔ)Stream?reduce實現(xiàn)集合元素歸約示例詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-03-03