JAVA四种引用方式

JAVA四种引用方式:

java.lang.ref:

  1. 强引用(直接变量赋值)
  2. 软引用(SoftReference): 只有在要发生OOM错误之前才会回收掉老的软引用对象,应用场景主要防止内存溢出。(缓存的使用)
  3. 弱引用(WeakReference): 只要gc 就会被回收 ,例如 WeakHashMap的应用,当Key值(弱引用的值)为null时,自动溢出Value。ThreadLocalMap.Entry
  4. 虚引用 (PhantomReference):虚引用在实现一个对象被回收之前必须做清理操作是很有用的,代替finalize()再好不过了,finalizer不安全,不稳定。

参考:

https://blog.csdn.net/aitangyong/article/details/39453365

https://blog.csdn.net/swebin/article/details/78571933

结构:

 

原文地址:https://www.cnblogs.com/kancy/p/10410693.html