Java学习笔记:WeakReference

tech2023-08-16  82

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

@[TOC]( )

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)