自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

分析java對象的幾種引用(reference)

開發(fā) 后端
本文介紹的是java對象的引用的分析,希望對大家有幫助,一起來看吧!

java對象的引用reference分為有強引用,軟引用,弱引用,虛引用這幾種形式。

1、Soft Reference(軟引用)

指到的對象,即使沒有任何Direct Reference,也不會清除,一直到jvm內存不足且沒有Direct Reference時候才會清除。

應用場景:常用來設計緩存,不但可以將對象緩存起來,也不會容易造成內存不足。

2、Weak Reference(弱引用)

GC一旦發(fā)現(xiàn)了弱引用關系進行就開始收集對象。

應用場景:想查看某些對象信息,又不想影響GC對其的收集工作。

與GC的交互:

1.將referent置為null引用;

2.將堆中的目標對象設置為“finalizable(可結束的)”;

3.先執(zhí)行finalize(),釋放內存,軟引用添加到RefernceQueue中。

ReferenceQueue在 soft renference和 weak reference中可以為null,但虛應用中必須有!

3、PhantomReference(虛引用)

與GC的交互:

1.不將referent置為null引用;而是將堆中的目標對象設置為“finalizable(可結束的)”;

2.先軟引用添加到RefernceQueue中。然后收集對象,釋放內存

附注:ReferenceQueue在 soft renference和 weak reference中可以為null,但虛引用中必須有!

4、抽象類Reference分析

java.lang.ref包中有四個類,他們的關系是PhantomReference,WeakReference,SoftReference繼承了抽象類Reference。Reference類中,有thread子類(ReferenceHandler),并在靜態(tài)區(qū)域中開啟,對pending字段進行實時的監(jiān)控。

pending是由jvm來賦值的,當Reference內部的referent對象的可達狀態(tài)改變時,jvm會將Reference對象放入pending鏈表。

一旦relevent= null,垃圾收集時會標記WeakReference的referent為不可達get()返回null,并且通過賦值給pending ,觸發(fā)ReferenceHandler線程處理pending。

ReferenceHandler線程要做的是將pending對象enqueue,但默認我們所提供的queue,也就是從構造函數(shù)傳入的是null,實際是使用了ReferenceQueue.NULL,Handler線程判斷queue為ReferenceQueue.NULL則不進行操作,只有非ReferenceQueue.NULL 的queue才會將Reference進行enqueue。

希望通過以上內容的介紹,能夠給你帶來幫助。

責任編輯:于鐵 來源: 互聯(lián)網
相關推薦

2011-07-22 15:12:12

java

2024-08-14 13:24:24

2009-06-19 16:19:23

Java對象引用

2022-01-12 09:08:37

索引JavaReference對象

2009-12-03 09:59:20

JVM概念Java對象引用類型

2015-11-16 11:22:05

Java對象內存分配

2021-10-18 15:50:49

Android強引用軟引用

2009-09-09 09:36:25

Linq對象引用

2019-12-12 15:39:28

大數(shù)據IT互聯(lián)網

2011-06-30 09:25:22

軟件項目

2009-08-17 14:48:44

Java參數(shù)傳遞機制

2023-12-25 09:30:41

Java垃圾回收

2024-05-20 08:58:13

Java引用類型垃圾回收器

2011-09-22 13:49:44

XML基準測試

2011-05-17 10:33:44

IE6

2020-08-24 08:05:47

JavaScriptJavaScript 頁面

2017-02-27 11:48:58

JVM源碼分析Java

2009-09-02 16:02:52

C#引用托管對象

2010-01-20 18:24:51

C++CLI

2021-03-06 19:45:23

項目文件代碼
點贊
收藏

51CTO技術棧公眾號