您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java中的引用類型有哪幾種”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java中的引用類型有哪幾種”吧!
Java 中的引用類型:強引用、軟引用、弱引用和虛引用
強引用
如 Object object = new Object(),那 object 就是一個強引用,如果一個對象具有強引用,垃圾回收器就永遠不會回收它。
軟引用
軟引用用來描述一些還有用但非必需的對象。在內存即將發生內存溢出之前,會把這些對象列進回收范圍之中進行二次垃圾回收。如果這次回收還沒有足夠內存,才會發生內存溢出現象。
另:軟引用可用來實現內存敏感的高速緩存。
弱引用
用來描述非必需的對象。被弱引用關聯的對象只能存活到下一次垃圾收集發生之前。當垃圾回收時,無論當前內存是否足夠,都將回收被弱引用關聯的對象。
虛引用
最弱的一種引用關系。無法通過一個虛引用獲得一個對象實例;一個對象是否有虛引用,都不會對其生存周期構成影響。
設置虛引用的唯一目的是在垃圾回收時收到一個系統通知。
虛引用與軟引用、弱引用的一個區別在于:虛引用必須和引用隊列(ReferenceQueue)聯合使用。當垃圾回收器準備回收一個對象時,如果發現它還有虛引用,會在垃圾回收之前,將該引用加入到與之對應關聯的引用隊列中。程序通過判斷引用隊列中是否已經加入了該虛引用,來了解被引用的對象是否將被垃圾回收。程序如果已經發現該虛引用被加入了引用隊列中,就會將所引用的對象的內存被回收之前采取必要的行動。
軟引用、弱引用的使用場景原理分析:實現內存敏感的高速緩存。
感謝各位的閱讀,以上就是“Java中的引用類型有哪幾種”的內容了,經過本文的學習后,相信大家對Java中的引用類型有哪幾種這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。