在 Java 中,从 JDK 1.2 开始引入了 包,将对象的引用分为四个级别:强引用(Strong)、软引用(Soft)、弱引用(Weak)和虚引用(Phantom)。 这种设计的核心目的是为了让程序员能够按需控制对象的生命周期,并与垃圾回收器(GC)更好地交互,从而避免内存泄漏(Memory Leak)和内存溢出(OOM)。 以下是对这四种引用类型的详细解析及其对应的使用场景: --- 1. 强引用 (Strong Reference) 概念: 强引用是 Java 中最常见、最默认的引用类型。当我们使用 关键字创建一个对象并赋值给一个变量时,这个变量就是强引用。 GC 回收时机: 绝对不回收。 只要一个对象有强引用指向它,垃圾回收器(GC)宁愿抛出 (OOM) 导致程序崩溃,也绝对不会回收该对象。只有当强引用被显式赋值为 ,或者超出了变量的作用域时,对象才会被当作垃圾回收。 代码示例: 使用场景: 日常开发中的绝大多数场景。只要是你必须保证不能丢失的核心业务数据和对象,都使用强引用。 --- 2. 软引用 (Soft Reference) 概念: 软引用用来描述一些有用但非必...