- 相關推薦
Java/Android引用類型及其使用分析
Java/Android中有四種引用類型,分別是:
Strong reference - 強引用
Soft Reference - 軟引用
Weak Reference - 弱引用
Phantom Reference - 虛引用
不同的引用類型有著不同的特性,同時也對應著不同的使用場景。
1.Strong reference - 強引用
實際編碼中最常見的一種引用類型。常見形式如:A a = new A();等。強引用本身存儲在棧內存中,其存儲指向對內存中對象的地址。一般情況下,當對內存中的對象不再有任何強引用指向它時,垃圾回收機器開始考慮可能要對此內存進行的垃圾回收。如當進行編碼:a = null,此時,剛剛在堆中分配地址并新建的a對象沒有其他的任何引用,當系統進行垃圾回收時,堆內存將被垃圾回收。
SoftReference、WeakReference、PhantomReference都是類java.lang.ref.Reference的子類。Reference作為抽象基類,定義了其子類對象的基本操作。Reference子類都具有如下特點:
1.Reference子類不能無參化直接創建,必須至少以強引用對象為構造參數,創建各自的子類對象;
2.因為1中以強引用對象為構造參數創建對象,因此,使得原本強引用所指向的堆內存中的對象將不再只與強引用本身直接關聯,與Reference的子類對象的引用也有一定聯系。且此種聯系將可能影響到對象的垃圾回收。
根據不同的子類對象對其指示對象(強引用所指向的堆內存中的對象)的垃圾回收不同的影響特點,分別形成了三個子類,即SoftReference、WeakReference和PhantomReference。
【Java/Android引用類型及其使用分析】相關文章:
詳解Java枚舉類型enum及其使用01-06
使用Java的枚舉類型的方法03-14
c語言引用類型和值類型05-01
c#引用類型和值類型04-11
Java自動裝箱與拆箱及其陷阱分析02-25
淺談Java中的弱引用05-05
c語言引用類型與值類型的區別詳解02-10
Java 變量類型02-28