更新時間:2020-04-07 13:33:58 來源:動力節點 瀏覽2359次
1.引用數據類型概論
引用數據類型變量名這樣聲明的時候變量為null。
引用數據類型變量名=new引用數據類型,例如Stringa=newString("hi~")這時候內存存儲如圖:
這時候Stringa在棧內存中聲明了一個內存地址,內存地址指向堆內存中newString("hi~")聲明的對象。即變量名為引用的內存地址。
2.引用數據類型分類
類
接口
接口不能直接new進行實例化,可以引用實現接口的類。
數組
3.引用分類
強引用(StrongReference)
一般使用的引用Aa=newA();
當內存空間不足,Java虛擬機寧愿拋出OutOfMemoryError錯誤,使程序異常終止,也不會靠隨意回收具有強引用的對象來解決內存不足的問題。
一句話,空間不回收。
軟引用(SoftReference)
當內存空間不足時,會回收軟引用對象。
一句話,空間不足就回收。
弱引用(WeakReference)
在java垃圾回收期掃描它管轄的范圍之內時,發現弱引用,就進行回收。
一句話,發現就回收。
虛引用(PhantomReference)
虛引用并不會決定對象的生命周期。如果一個對象僅持有虛引用,那么它就和沒有任何引用一樣,在任何時候都可能被垃圾回收器回收。
一句話,任何時候回收。
虛引用必須要和ReferenceQueue一起使用。ReferenceQueue是一種隊列,java虛擬機將垃圾回收的對象放入其中。(ReferenceQueue也可以和軟引用或弱引用一起使用)。
4.問題
問題如下
結果為:
以上就是動力節點java培訓機構的小編針對“Java基礎學習:java引用數據類型”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習