【156、Java 的四大引用类型,应用场景】

132 阅读1分钟

Java中的四大引用类型包括强引用、软引用、弱引用和虚引用。下面分别介绍它们的应用场景:

  1. 强引用(Strong Reference):是指在程序代码之中普遍存在的,类似“Object obj=new Object()”这类的引用,只要强引用还存在,垃圾回收器就永远不会回收掉被引用的对象。在Java中,如果一个对象有强引用与之关联,那么这个对象就不会被回收。
  2. 软引用(Soft Reference):是一种相对强引用弱化了一些的引用,需要用java.lang.ref.SoftReference类来实现,被软引用关联的对象,在系统内存不足时,会被回收掉。这种类型的引用通常用来实现内存敏感的缓存。
  3. 弱引用(Weak Reference):比软引用更弱一些,需要用java.lang.ref.WeakReference类来实现。被弱引用关联的对象,在垃圾回收器线程扫描它们所关联的引用时,一旦发现弱引用,不管当前内存空间是否足够,都会回收掉被弱引用关联的对象。
  4. 虚引用(Phantom Reference):也称为幽灵引用或幻影引用,需要用java.lang.ref.PhantomReference类来实现。虚引用与其他三种引用都不同,虚引用并不会决定对象的生命周期,如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都可能被垃圾回收器回收。虚引用主要用来跟踪对象被垃圾回收器回收的状态,仅仅是提供了一种确保对象被finalize以后,做某些事情的机制。