中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

珲春市| 佳木斯市| 兴和县| 玉田县| 曲水县| 凤凰县| 乌兰浩特市| 玉环县| 女性| 平阴县| 固安县| 东至县| 个旧市| 山阴县| 温州市| 兴山县| 怀化市| 兴文县| 康定县| 拉萨市| 桂平市| 南岸区| 利川市| 常山县| 松阳县| 长治市| 巴南区| 武夷山市| 新绛县| 榆中县| 三原县| 金门县| 西藏| 湖口县| 靖远县| 宾阳县| 凤城市| 易门县| 文化| 德化县| 高青县|