Java 弱引用

Java 弱引用。

Java 中有四种引用类型,先来说说强引用和弱引用。

如下的最常见的创建对象的方式就是创建了一个强引用:

1
StringBuffer buffer = new StringBuffer();

当一个对象通过一系列强引用可以到达的时候,这个对象就不会被 GC 回收。如果把对象引用显式置为 null,那么这个对象引用指向的对象就会引用没有强引用而被 GC 回收。

如果一个对象,只有弱引用在引用这个对象,那么这个对象还是会被当作垃圾回收。

参考资料

  1. Understanding Weak References Blog - Oracle Community 译文:理解Java中的弱引用 - 技术小黑屋
  2. Class WeakReference - Java SE 8 Doc
  3. Class ThreadLocal - Java SE 8 Doc
  4. Class Thread - Java SE 8 Doc