Java 中的引用型別


根據資料垃圾回收的方式,一共有四種不同型別的引用。

  • 強引用
  • 弱引用
  • 軟引用
  • 幻影引用

強引用

它是引用物件的預設型別。擁有活動強引用的物件無法進行垃圾回收。只有在強引用的變數指向 null 時才有可能。我們看一個示例 -

示例

class Demo {
   //Some functionality
}
public class Demo_example{
   public static void main(String[] args){
      Demo my_inst = new Demo();
      my_inst = null;
   }
}

弱引用

它們不是預設的引用物件類,因此需要明確指定。它通常與 WeakHashmap 一起使用,以便引用條目物件。此類弱引用由 Java 虛擬機器標記為垃圾回收。使用“java.lang.ref.WeakReference”類建立此類引用。

我們看一個示例 -

示例

 即時演示

import java.lang.ref.WeakReference;
class Demo{
   public void display_msg(){
      System.out.println("Hello");
   }
}
public class Demo_sample{
   public static void main(String[] args){
      Demo inst = new Demo();
      inst.display_msg();
      WeakReference<Demo> my_weak_ref = new WeakReference<Demo>(inst);
      inst = null;
      inst = my_weak_ref.get();
      inst.display_msg();
}

輸出

Hello
Hello

一個名為 Demo 的類有一個名為“display_msg”的函式。此函式顯示相關訊息。在另一個名為“Demo_sample”的類中,定義了 main 函式,並建立了 Demo 類的例項。“display_msg”函式針對該例項呼叫。對 Demo 類建立了一個弱引用,並且 Demo 例項被指定為 null,然後再次呼叫該函式。相關輸出顯示在控制檯上。

更新於:2020 年 8 月 17 日

瀏覽:714 次

啟動你的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.