四种引用,强引用,软引用,弱引用,虚引用,分别介绍

四种引用,是Java中用来描述对象生命周期的概念,分别是强引用,软引用,弱引用和虚引用。他们在垃圾回收过程中的行为不同,允许程序员更精细地控制对象的生命周期。

1. 强引用(Strong Reference):

强引用是Java中最常见的引用类型,

  1. 如果一个对象具有强引用。
  2. 即使系统内存不足,垃圾回收器也不会回收这个对象,
  3. 只有在不再有任何强引用指向这个对象时,才会被回收

2. 软引用(Soft Reference)

软引用用于描述一些还有用但非必需的对象。

  1. 如果一个对象只有软引用指向它,
  2. 那么在系统内存不足时,垃圾回收器会尝试回收这些对象。
  3. 软引用通常用于实现内存敏感的缓存,可以在内存不足时释放缓存中的对象。

3. 弱引用(Weak Reference)

弱引用比软引用的生命周期更短暂。

  1. 如果一个对象只有弱引用指向它,
  2. 在进行下一次垃圾回收时,不论系统内存是否充足,这些对象都会被回收。
  3. 弱引用通常用于实现对象缓存呢,但不希望缓存的对象影响垃圾回收的情况。

4.虚引用(Phantom Reference)

虚引用是Java中最弱的引用类型。

  1. 如果一个对象只有虚引用指向它,那么无论何时都可能被垃圾回收器回收。
  2. 但在对象被回收之前,虚引用会被放入一个队列中供程序员处理。
  3. 虚引用主要用于跟踪对象被垃圾回收的时机,进行一些清理
posted @ 2025-05-18 16:46  kuki'  阅读(127)  评论(0)    收藏  举报