Skip to content

Java垃圾回收

ZhangPan edited this page Jul 10, 2025 · 2 revisions

简述 Java 对象的 4 中引用关系

Java 中有四种引用关系,分别是:强引用、软引用、弱引用和虚引用。

1. 强引用(StrongReference)

  • 强引用是我们最常见的引用类型,比如 Object obj = new Object()。
  • 只要强引用存在,垃圾回收器就不会回收被引用的对象。

2. 软引用(SoftReference)

  • 软引用通常用于实现内存敏感的缓存。
  • 当内存不足时,垃圾回收器才会回收被软引用关联的对象。
  • 软引用可以用来避免 OutOfMemoryError 异常。

3. 弱引用(WeakReference)

  • 弱引用比软引用更弱,当垃圾回收器扫描到只被弱引用关联的对象时,就会回收它。
  • 弱引用可以用于避免内存泄漏,例如在缓存中,当对象不再被强引用指向时,弱引用可以确保它被正确回收。

4. 虚引用(PhantomReference)

  • 虚引用是最弱的引用类型,它无法通过虚引用获取到被引用的对象。
  • 虚引用主要用于跟踪对象被垃圾回收的状态,可以在对象被回收时收到通知。
  • 虚引用通常与 ReferenceQueue 一起使用,用于在对象被回收时执行一些清理操作。

公众号:玩转安卓Dev

Java基础

面向对象与Java基础知识

Java集合框架

JVM

多线程与并发

设计模式

Kotlin

Android

项目相关问题

Android基础知识

Android消息机制

Android Binder

View事件分发机制

Android屏幕刷新机制

View的绘制流程

Activity启动

Framework

性能优化

Jetpack&系统View

第三方框架实现原理

计算机网络

算法

Clone this wiki locally