JVM学习笔记第51天-Java中几种不同的引用

一、概述

我们希望能描述这样一类对象,当内存空间还足够时,则能保留在内存中,如果内存空间在进行垃圾收集后还是很紧张,则可以抛弃这些对象。

强引用、软引用、弱引用、虚引用有什么区别?具体使用场景是什么?

在JDK1.2之后,Java对引用概念进行了扩充,将引用分为强引用、软引用、弱引用、虚引用4种,这4种引用强度依次逐渐减弱。

除强引用外,其它3种引用均可以在java.lang.ref包中找到他们的身影。如下图,显示了这3种引用类型对应的类,开发人员可以在应用程序种直接使用它们。

JVM学习笔记第51天-Java中几种不同的引用

JVM学习笔记第51天-Java中几种不同的引用

二、四种引用的区别

JVM学习笔记第51天-Java中几种不同的引用

JVM学习笔记第51天-Java中几种不同的引用

JVM学习笔记第51天-Java中几种不同的引用

JVM学习笔记第51天-Java中几种不同的引用