Java学习笔记:WeakReference

本文是自己学习的一个总结,主要学习资料来自Java文档和以下链接。
https://brightloong.github.io/2018/05/27/关于Java中的WeakReference/#more



1、WeakReference简介

这个类其实是对应着JVM中的弱引用的概念。与此类似的还有强引用,虚引用,软引用。

弱引用的特征是,一旦弱引用被GC注意到,那弱引用的引用对象就会被回收。但是弱引用本身不会被回收。

一开始是为了弄懂ThreadLocal才来学习WeakReference,还好WeakReference中的方法比较少,很容易弄懂。



2、WeakReference的方法

WeakReference本身继承Reference,其中没有太多花里胡哨的方法,基本都是指定引用对象,取出引用对象等。

WeakReference只有两个构造方法,如下所示。

/**
 * 传入引用对象
 */
public WeakReference(T referent) {
    super(referent);
}

/**
 * 传入引用对象,并且传入一个队列。
 * 当引用的引用对象referent被回收后,引用仍然存在。q会将引用入队。
 */
public WeakReference(T referent, ReferenceQueue<? super T> q) {
    super(referent, q);
}

相比较与第一个构造器,第二个构造器还可以多加一个队列,用来记录引用对象已被回收的引用。

实验程序可以看文章开头的链接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值