Java中的引用的使用場景

Java中的引用,一共分爲以下四種。

一、強引用

默認的對象是強引用。

對象還在被引用,就不會被回收。

即使內存已經不夠了,也不會被回收。

二、軟引用:SoftReference

當內存喫緊的時候,纔會被回收。

可以用在緩存的場景,內存足夠時進行緩存,內存都不夠了,就不用緩存了。

三、弱引用WeakReference

不管內存是否不夠用。GC的時候,就會被回收。

ThreadLocal就是使用的弱引用來實現的。

四、虛引用:PhantomReference

必須與ReferenceQueue一起使用。

當要被回收的時候,會先將其放入ReferenceQueue中。

用戶線程通過獲取此隊列中信息,可以知道哪些弱引用要被回收,可以進行一些資源回收的工作。

比如直接內存就是使用此辦法管理的,Java只是持有直接內存的虛引用,當要回收的時候,我們可以在關聯隊列中獲取消息,進而進行對外內存的處理。

五、總結,上腦圖

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章