日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

簡述Java中的四種引用類型

瀏覽:33日期:2022-08-14 14:51:16
簡介

從JDK1.2版本開始,把對象的引用分為四種級別,從而使程序能更加靈活的控制對象的生命周期。這四種級別由高到低依次為:強引用、軟引用、弱引用和虛引用,下面分別介紹下這四種引用。

強引用

強引用是最常用的引用類型,如下所示,new Object()會創建一個Object對象并存儲在堆上,變量object存儲對該對象的強引用。

Object object = new Object();

強引用不會被垃圾回收,所以要想回收該對象,則應該將指向該對象的變量顯示設為null,這樣該對象就由強引用轉變為無引用了。

示例:

public class ReferenceDemo { public static void main(String[] args) throws IOException {//強引用不會被垃圾回收ReferenceDemo referenceDemo = new ReferenceDemo();//強引用轉變為無引用,無引用可被垃圾回收referenceDemo = null;//觸發垃圾回收System.gc();//阻塞主線程,等待垃圾回收線程執行System.in.read(); } //對象被回收之前調用 @Override protected void finalize() throws Throwable {super.finalize();System.out.println('-----finalize-----'); }}軟引用

軟引用是使用SoftReference創建的,在內存空間充足的情況下,軟引用不會被回收,而在內存空間不足虛擬機拋出OutOfMemoryError之前,軟引用將會被回收。

示例:

public class ReferenceDemo { public static void main(String[] args) throws InterruptedException {//創建ReferenceDemo對象的軟引用SoftReference<ReferenceDemo> softReference = new SoftReference<>(new ReferenceDemo());//觸發垃圾回收System.gc();//阻塞主線程,等待垃圾回收線程執行Thread.sleep(5000);//softReference.get()返回軟引用對象,如果對象已經被垃圾回收,則返回nullSystem.out.println(softReference.get());//創建25M的字節數組byte[] bytes = new byte[1024 * 1024 * 25];//內存已經不足,阻塞主線程,等待垃圾回收線程執行Thread.sleep(5000);//重新輸出軟引用對象System.out.println(softReference.get()); }}/* * 輸出結果: * com.buhe.demo.demos.reference.ReferenceDemo@76fb509a * null */

注意:示例運行前需要設置堆內存大小為30M(-Xmx30m -Xms30m)。

用途:軟引用可以用于對內存空間敏感的緩存,緩存的對象一直保存,直到內存空間不足而被回收。

弱引用

弱引用是使用WeakReference創建的,在垃圾回收線程執行過程中,只要找到了弱引用,不管內存空間是否足夠,弱引用對象都將被回收。由于垃圾回收線程是一個優先級很低的線程,因此不一定會很快發現那些只具有弱引用的對象。

示例:

public class ReferenceDemo { public static void main(String[] args) throws InterruptedException {//創建ReferenceDemo的弱引用WeakReference<ReferenceDemo> weakReference = new WeakReference<>(new ReferenceDemo());//weakReference.get()返回弱引用對象,如果對象已經被垃圾回收,則返回nullSystem.out.println(weakReference.get());//觸發垃圾回收System.gc();//阻塞主線程,等待垃圾回收線程執行Thread.sleep(3000);//重新輸出弱引用對象System.out.println(weakReference.get()); }}/* * 輸出結果: * com.buhe.demo.demos.reference.ReferenceDemo@76fb509a * null */

用途:弱引用也可以用于緩存,可以參考WeakHashMap類。

虛引用

虛引用是使用PhantomReference創建的,它是所以引用類型中最弱的。虛引用對象和沒有引用的對象相同,可以在任何時候被垃圾回收,并且虛引用必須要與引用隊列一起使用。

當垃圾回收線程回收一個虛引用對象時,它將在垃圾回收后銷毀該對象,并將PhantomReference添加到引用隊列中。

示例:

public class ReferenceDemo { public static void main(String[] args) throws InterruptedException {//創建引用隊列ReferenceQueue<Object> referenceQueue = new ReferenceQueue();//創建ReferenceDemo的虛引用PhantomReference<ReferenceDemo> phantomReference = new PhantomReference<>(new ReferenceDemo(), referenceQueue);//phantomReference.get()總是返回nullSystem.out.println('phantomReference.get():' + phantomReference.get());//輪詢此隊列,查看是否有可用的Reference對象,有則返回該對象,否則返回nullSystem.out.println('referenceQueue.poll():' + referenceQueue.poll());//觸發垃圾回收System.gc();//阻塞主線程,等待垃圾回收線程執行Thread.sleep(3000);System.out.println('------垃圾回收之后------');System.out.println('phantomReference.get():' + phantomReference.get());System.out.println('referenceQueue.poll():' + referenceQueue.poll()); }}/* * 輸出結果: * phantomReference.get():null * referenceQueue.poll():null * ------垃圾回收之后------ * phantomReference.get():null * referenceQueue.poll():java.lang.ref.PhantomReference@76fb509a */

用途:虛引用可以用于精確的檢測對象何時從內存中刪除,通過檢查引用隊列來判斷對象是否已經被回收。

以上就是簡述Java中的四種引用類型的詳細內容,更多關于Java 引用類型的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
狠狠色综合网| 国产一区三区在线播放| 亚洲成人va| 国产+成+人+亚洲欧洲在线| 久久久91麻豆精品国产一区| 欧美日韩一区自拍| 国产精品久久久久久久久久妞妞 | 日韩精品一二三| 亚洲欧洲日韩| 日韩精品午夜视频| 日韩和欧美的一区| 国产精品一区二区精品| 久久久国产精品网站| 高清在线一区| 久久久人人人| 在线综合视频| 日韩国产91| 国产精品日韩精品中文字幕| 精品99在线| 在线日韩中文| 免费观看日韩电影| 国产欧美日韩精品一区二区三区| 精品国产91| 欧美1区免费| 亚洲精品综合| 欧美日韩91| 精品国产乱码久久久| 亚洲va中文在线播放免费| 国产精品嫩草99av在线| 国产欧美日本| 中文字幕系列一区| 日韩精品一二区| 久久成人福利| 久久久久久美女精品| 免费不卡在线视频| 欧美精品aa| 国产成人精品亚洲日本在线观看| 野花国产精品入口| 国产伦精品一区二区三区在线播放| 国产一区二区三区国产精品| 久久精品高清| 亚洲91网站| 丰满少妇一区| 免费久久99精品国产自在现线| 久久国产视频网| 国产传媒av在线| 国产精品毛片一区二区三区| 久久爱www成人| 黄色亚洲精品| 久久不卡国产精品一区二区| 99久久久久国产精品| 91亚洲精品视频在线观看| 伊人久久在线| 日韩福利视频一区| 色老板在线视频一区二区| 国产女优一区| 国产高清日韩| 欧美日韩国产一区二区三区不卡| 亚洲精品美女| 新版的欧美在线视频| 蜜桃av一区二区| 91青青国产在线观看精品| 免费观看久久久4p| 吉吉日韩欧美| 欧美亚洲专区| av不卡在线| 成人在线视频区| 亚洲在线久久| 日韩网站中文字幕| 日本午夜精品久久久| 亚洲爱爱视频| 国产乱码精品| 亚洲中字黄色| 午夜影院一区| 久久精品97| 亚洲专区一区| 欧美男人天堂| 国产乱码精品一区二区三区亚洲人| 久久视频国产| 精品精品99| 欧美在线首页| 日韩精品一二区| 香蕉精品久久| 成人精品久久| 国产日韩高清一区二区三区在线| 欧美日韩激情| 毛片在线网站| 免费在线播放第一区高清av| 亚洲精品精选| 在线亚洲欧美| 久久婷婷av| 六月丁香综合在线视频| 日韩1区2区3区| 亚洲成人免费| 日韩影院二区| 久久香蕉网站| 国产毛片精品| 亚洲精品动态| 99视频精品免费观看| 日韩久久精品| 国产精品男女| 亚洲开心激情| 玖玖精品视频| 日韩视频不卡| 亚洲午夜一级| 久久美女精品| 久久久久国产一区二区| 国产精品久久久久久久久妇女| 国产精品色在线网站| 亚洲精品福利| 一区二区电影在线观看| 亚洲欧美日本国产专区一区| 蜜桃tv一区二区三区| 欧美精品资源| 91精品国产乱码久久久久久久| 四虎国产精品免费观看| 精品国产黄a∨片高清在线| 免费亚洲一区| 国产精品99久久免费观看| 欧美精品国产| 国产亚洲精品美女久久久久久久久久| 日韩综合小视频| 奇米狠狠一区二区三区| 国产日韩欧美一区在线| 国产精品成人国产| 美女av一区| 国产成人免费| 欧美一区久久久| 亚洲91精品| 亚洲精品2区| 在线一区视频| 在线亚洲观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲天堂日韩在线| 日本不卡视频在线观看| 国产亚洲一区二区三区啪| 国产精品久久久久久久久久妞妞| 你懂的亚洲视频| 欧美好骚综合网| 激情综合网址| 丝袜亚洲另类欧美| 午夜亚洲福利| 欧美日韩夜夜| 国产中文字幕一区二区三区| 欧美日韩视频网站| 亚洲免费精品| 夜久久久久久| 午夜久久av | 999国产精品永久免费视频app| 99久久亚洲精品蜜臀| 亚洲视频播放| 18国产精品| 91中文字幕精品永久在线| 久久婷婷av| 免费视频最近日韩| 91精品美女| 日本一二区不卡| 99热国内精品| 视频在线在亚洲| 欧美天堂一区二区| 成人亚洲一区二区| 日韩视频在线一区二区三区| 香蕉久久久久久| 国产在线一区不卡| 午夜国产精品视频| 欧美亚洲tv| 日韩欧美一区二区三区在线视频| 国产综合精品| 日韩精品亚洲aⅴ在线影院| 精品国产欧美日韩| 欧美在线影院| 国产精品一线| 色爱综合av| 免费成人av在线播放| 久久精品人人| 亚洲色诱最新| 麻豆精品新av中文字幕| 一区二区三区四区在线看| 日韩精品五月天| 国产精品久久久久av电视剧| 蜜桃视频免费观看一区| 精品国产99| 美国三级日本三级久久99| 高清久久一区| 免费国产亚洲视频| 成人在线视频免费看| 亚洲一区二区免费看| 美日韩一区二区三区| 蜜桃tv一区二区三区| 久久丁香四色| 鲁大师影院一区二区三区| 欧美激情日韩| 日韩午夜av| 精品一区二区三区亚洲| 国产亚洲福利| 国产成人精品一区二区三区视频| 蜜桃一区二区三区在线| 日韩欧美一区二区三区在线视频 | 亚洲影院天堂中文av色| 97国产成人高清在线观看|