Java中的引用类型
根据对数据进行垃圾收集的方式,有四种不同类型的引用。
有力的参考
参考不足
软参考
幻影参考
强大的参考
这是参考对象的默认类型。具有有效强引用的对象不能被垃圾收集。只有强引用的变量指向null才有可能。让我们看一个例子-
示例
class Demo {
//一些功能
}
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”的类中,定义了主要功能,并创建了一个Demo类的实例。在实例上调用“display_msg”函数。创建对Demo类的weakReference,并将Demoinsatne分配为null,然后在其上再次调用该函数。相关输出将显示在控制台上。