首頁  >  文章  >  Java  >  java中什麼是引用類型

java中什麼是引用類型

(*-*)浩
(*-*)浩原創
2019-05-05 16:59:3918869瀏覽

java中的引用型別是指除了基本資料型別之外的所有型別。 java有四種引用類型,分別是強引用、軟引用、弱引用、虛引用。引用類型和原始類型具有不同的特徵和用法。

java中什麼是引用類型

推薦課程:Java教學

Java 提供兩種不同的類型:參考類型和原始類型(或內建類型)

引用類型和原始類型的行為完全不同,並且它們具有不同的語義。

引用類型和原始類型具有不同的特徵和用法,它們包括:大小和速度問題,這種類型以哪種類型的資料結構存儲,當引用類型和原始類型

#用作某個類別的實例資料時所指定的預設值。

物件引用實例變數的預設值為 null,而原始類型實例變數的缺省值與它們的型別有關。同時為了物件導向操作的一致性。

這些基本類型都有對應的封裝類型:Integer、Short、Long、Byte、Float、Double、Character等。

Java的4種參考類型:

他們分別是強引用(StrongReference),軟引用(SoftReference),弱引用(WeakReference)以及PhantomReference(虛引用),他們被 GC回收的可能性由大到小排列。

強引用(StrongReference)

只要強引用存在,垃圾回收器將永遠不會回收被引用的對象,即使記憶體不足時,JVM也會直接拋出OutOfMemoryError,不會去回收。如 果想中斷強引用與物件之間的聯繫,可以顯示的將強引用賦值為null,這樣一來,JVM就可以適時的回收物件了

##軟引用(SoftReference)

軟引用是用來描述一些非必要但仍有用的物件。在記憶體足夠的時候,軟引用物件不會被回收,只有在記憶體不足時,系統則會回收軟引用對 象,如果回收了軟引用物件之後仍然沒有足夠的內存,才會拋出內存溢出異常。這種特性常常被用來實現快取技術,例如網頁緩存,圖片 緩存等。

在 JDK1.2 之後,用java.lang.ref.SoftReference類別來表示軟引用。

弱引用(WeakReference)

弱引用的引用強度比軟引用要更弱一些,無論記憶體是否足夠,只要JVM 開始進行垃圾回收,那些被弱引用關聯的物件都會被回收。

在 JDK1.2 之後,用 java.lang.ref.WeakReference 來表示弱引用。

PhantomReference(虛引用)

虛引用是最弱的一種引用關係,如果一個物件只持有虛引用,那麼它就和沒有任何引用一樣,它隨時可能會被回收,在JDK1.2 之後,用PhantomReference 類別來表示,透過查看這個類別的源碼,發現它只有一個建構函式和一個get() 方法,而且它的get() 方法只是傳回一個null,也就是說將永遠無法透過虛引用來取得對象,虛引用必須要和ReferenceQueue 引用佇列一起使用。

以上是java中什麼是引用類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn