Java中四种引用类型

本文详细介绍了Java中的强引用、软引用、弱引用和虚引用。强引用是默认引用类型,不会被垃圾回收,除非显式设置为null。软引用在内存充足时不会回收,内存不足时会被回收,常用于缓存。弱引用在垃圾回收时会被回收,常用于弱引用映射表。虚引用是最弱引用,不能获取对象,与引用队列配合使用,用于堆外内存清理。
摘要由CSDN通过智能技术生成

阅读本文大概需要3.8分钟

欢迎大家关注我的公众号:神兽学编程

目录

1、前言 

2、强引用 

3、软引用 

4、弱引用 

5、虚引用


1、前言 

在Java中提供了四个级别的引用:强引用软引用弱引用虚引用。在这四个引用类型中,只有强引用FinalReference类是包内可见,其他三种引用类型均为public,可以在应用程序中直接使用。引用类型的类结构如图所示。

 

2、强引用 

Java中默认声明的就是强引用,例如以下代码,如果M对象被回收了,会打印 finalize() 方法中的内容:

public class Demo {
    public static void main(String[] args) throws IOException {
        M m = new M();  //只要m还指向M对象,M对象就不会被回收
        // m = null;   //手动置null
        System.gc();  // 进行垃圾回收

        System.in.read();
    }
}

class M {
    @Override
    protected void finalize() {
        System.out.println("对象被回收了...");
    }
}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值