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.