欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

java語言

Java/Android引用類型及其使用分析

時(shí)間:2025-05-05 00:32:18 java語言 我要投稿
  • 相關(guān)推薦

Java/Android引用類型及其使用分析

  Java/Android中有四種引用類型,分別是:

  Strong reference - 強(qiáng)引用

  Soft Reference - 軟引用

  Weak Reference - 弱引用

  Phantom Reference - 虛引用

  不同的引用類型有著不同的特性,同時(shí)也對應(yīng)著不同的使用場景。

  1.Strong reference - 強(qiáng)引用

  實(shí)際編碼中最常見的一種引用類型。常見形式如:A a = new A();等。強(qiáng)引用本身存儲在棧內(nèi)存中,其存儲指向?qū)?nèi)存中對象的地址。一般情況下,當(dāng)對內(nèi)存中的對象不再有任何強(qiáng)引用指向它時(shí),垃圾回收機(jī)器開始考慮可能要對此內(nèi)存進(jìn)行的垃圾回收。如當(dāng)進(jìn)行編碼:a = null,此時(shí),剛剛在堆中分配地址并新建的a對象沒有其他的任何引用,當(dāng)系統(tǒng)進(jìn)行垃圾回收時(shí),堆內(nèi)存將被垃圾回收。

  SoftReference、WeakReference、PhantomReference都是類java.lang.ref.Reference的子類。Reference作為抽象基類,定義了其子類對象的基本操作。Reference子類都具有如下特點(diǎn):

  1.Reference子類不能無參化直接創(chuàng)建,必須至少以強(qiáng)引用對象為構(gòu)造參數(shù),創(chuàng)建各自的子類對象;

  2.因?yàn)?中以強(qiáng)引用對象為構(gòu)造參數(shù)創(chuàng)建對象,因此,使得原本強(qiáng)引用所指向的堆內(nèi)存中的對象將不再只與強(qiáng)引用本身直接關(guān)聯(lián),與Reference的子類對象的引用也有一定聯(lián)系。且此種聯(lián)系將可能影響到對象的垃圾回收。

  根據(jù)不同的子類對象對其指示對象(強(qiáng)引用所指向的堆內(nèi)存中的對象)的垃圾回收不同的影響特點(diǎn),分別形成了三個(gè)子類,即SoftReference、WeakReference和PhantomReference。

【Java/Android引用類型及其使用分析】相關(guān)文章:

詳解Java枚舉類型enum及其使用01-06

使用Java的枚舉類型的方法03-14

c語言引用類型和值類型05-01

c#引用類型和值類型04-11

Java自動裝箱與拆箱及其陷阱分析02-25

淺談Java中的弱引用05-05

c語言引用類型與值類型的區(qū)別詳解02-10

Java 變量類型02-28

Java中float類型的范圍及其與十六進(jìn)制的轉(zhuǎn)換方法06-18