强引用、软引用、弱引用和虚引用

  • 强引用:是指创建一个对象并把这个对象赋给一个引用变量。
  • 软引用:如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。
  • 弱引用:弱引用也是用来描述非必需对象的,当JVM进行垃圾回收时,无论内存是否充足,都会回收被弱引用关联的对象。
  • 虚引用:虚引用和前面的软引用、弱引用不同,它并不影响对象的生命周期。在java中用java.lang.ref.PhantomReference类表示。如果一个对象与虚引用关联,则跟没有引用与之关联一样,在任何时候都可能被垃圾回收器回收。

更详细内容:
Java中的四种引用:强引用、软引用、弱引用和虚引用

你可能感兴趣的:(强引用、软引用、弱引用和虚引用)