91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java對象的四種引用方式實例分析

發布時間:2020-09-17 22:55:22 來源:腳本之家 閱讀:146 作者:cakincqm 欄目:編程語言

本文實例講述了Java對象的四種引用方式。分享給大家供大家參考,具體如下:

一 點睛

Java語言對對象的引用有如下四種方式

  • 強引用:我們平時一般都是這種引用,當一個對象被一個或一個以上的引用變量所引用時,它處于可達狀態,不可能被系統垃圾回收機制回收。
  • 軟引用:軟引用需要通過SoftReference類來實現,當一個對象只具有軟引用時,它有可能被垃圾回收機制回收。對于只有軟引用的對象而言,當系統內存空間足夠時,它不會被系統回收,程序也可以使用該對象,當系統內存空間不夠時,系統可能回收它。軟引用通常用于對內存敏感的程序中。 
  • 弱引用:弱引用通過WeakReference類實現,弱引用和軟引用很像,但弱引用的引用級別更低。對于只有弱引用的對象而言,當系統垃圾回收機制運行時,不管系統內存是否足夠,總會回收該對象所占用的內存。當然,并不是說當一個對象只有弱引用時,它就會被立即回收,而是必須等到系統垃圾回收機制運行時才會被回收。
  • 虛引用:虛引用通過PhantomReference類實現,虛應用完全類似于沒有引用。虛引用對對象本身沒有太大影響,對象甚至感覺不到虛引用的存在。

二 實戰——若弱引用所引用對象的垃圾回收過程

1 代碼

import java.lang.ref.*;
public class ReferenceTest {
  public static void main( String[] args )
      throws Exception {
    // 創建一個字符串對象
    String str = new String("瘋狂Java講義");
    // 創建一個弱引用,讓此弱引用引用到"瘋狂Java講義"字符串
    WeakReference wr = new WeakReference(str); //①
    // 切斷str引用和"瘋狂Java講義"字符串之間的引用
    str = null;  //②
    // 取出弱引用所引用的對象
    System.out.println(wr.get()); //③
    // 強制垃圾回收
    System.gc();
    System.runFinalization();
    // 再次取出弱引用所引用的對象
    System.out.println(wr.get()); //④
  }
}

2 圖解

Java對象的四種引用方式實例分析

3 運行

瘋狂Java講義
null

更多java相關內容感興趣的讀者可查看本站專題:《Java面向對象程序設計入門與進階教程》、《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》

希望本文所述對大家java程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

都匀市| 茌平县| 龙岩市| 娱乐| 深州市| 嘉峪关市| 博客| 兴安县| 逊克县| 绥芬河市| 德兴市| 长兴县| 景德镇市| 会昌县| 长垣县| 苏州市| 出国| 太原市| 合山市| 灵宝市| 凉城县| 玉树县| 邹平县| 临安市| 宝坻区| 石河子市| 汾西县| 泰安市| 繁峙县| 台安县| 衡南县| 威海市| 上犹县| 沐川县| 孟村| 库伦旗| 通化县| 四子王旗| 溧阳市| 肥西县| 闸北区|