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中文網其他相關文章!