更新時間:2020-04-07 13:33:58 來源:動力節(jié)點 瀏覽2375次
1.引用數(shù)據(jù)類型概論
引用數(shù)據(jù)類型變量名這樣聲明的時候變量為null。
引用數(shù)據(jù)類型變量名=new引用數(shù)據(jù)類型,例如Stringa=newString("hi~")這時候內(nèi)存存儲如圖:
這時候Stringa在棧內(nèi)存中聲明了一個內(nèi)存地址,內(nèi)存地址指向堆內(nèi)存中newString("hi~")聲明的對象。即變量名為引用的內(nèi)存地址。
2.引用數(shù)據(jù)類型分類
類
接口
接口不能直接new進行實例化,可以引用實現(xiàn)接口的類。
數(shù)組
3.引用分類
強引用(StrongReference)
一般使用的引用Aa=newA();
當(dāng)內(nèi)存空間不足,Java虛擬機寧愿拋出OutOfMemoryError錯誤,使程序異常終止,也不會靠隨意回收具有強引用的對象來解決內(nèi)存不足的問題。
一句話,空間不回收。
軟引用(SoftReference)
當(dāng)內(nèi)存空間不足時,會回收軟引用對象。
一句話,空間不足就回收。
弱引用(WeakReference)
在java垃圾回收期掃描它管轄的范圍之內(nèi)時,發(fā)現(xiàn)弱引用,就進行回收。
一句話,發(fā)現(xiàn)就回收。
虛引用(PhantomReference)
虛引用并不會決定對象的生命周期。如果一個對象僅持有虛引用,那么它就和沒有任何引用一樣,在任何時候都可能被垃圾回收器回收。
一句話,任何時候回收。
虛引用必須要和ReferenceQueue一起使用。ReferenceQueue是一種隊列,java虛擬機將垃圾回收的對象放入其中。(ReferenceQueue也可以和軟引用或弱引用一起使用)。
4.問題
問題如下
結(jié)果為:
以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java基礎(chǔ)學(xué)習(xí):java引用數(shù)據(jù)類型”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
初級 202925
初級 203221
初級 202629
初級 203743