Java的四種引用,強弱軟虛,用到的場景

強引用,最廣泛的狀況,String s = 「abc」,這個 s 就是強引用,只要強引用存在,對象就不會被垃圾回收器回收。緩存

軟引用,用於還有用但非必須的對象,內存足夠,則不會回收,內存不足,就會被回收掉。實現場景是用於內存敏感的高速緩存。軟引用通常與引用隊列聯合使用。當軟引用的對象被回收時,jvm 會將軟引用加入到與之關聯的引用隊列中。jvm

弱引用,與軟引用差很少,與軟引用的區別是,不管內存是否足夠,只要垃圾回收器線程在掃描的區域中發現了弱引用對象,直接回收掉他的內存。線程

虛引用,也叫幻影引用。與沒有引用的對象同樣,不會對對象的聲明週期產生影響。虛引用主要功能是,追蹤對象被垃圾器回收的活動。虛引用最重要的一個特徵是,虛引用必須和引用隊列聯合使用,當虛引用的對象被垃圾回收以前,會把虛引用加入到引用隊列中。對象

相關文章
相關標籤/搜索