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,然后再次调用该函数。相关输出显示在控制台上。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP