JAVA四种引用方式:
java.lang.ref:
- 强引用(直接变量赋值)
- 软引用(SoftReference): 只有在要发生OOM错误之前才会回收掉老的软引用对象,应用场景主要防止内存溢出。(缓存的使用)
- 弱引用(WeakReference): 只要gc 就会被回收 ,例如 WeakHashMap的应用,当Key值(弱引用的值)为null时,自动溢出Value。ThreadLocalMap.Entry
- 虚引用 (PhantomReference):虚引用在实现一个对象被回收之前必须做清理操作是很有用的,代替finalize()再好不过了,finalizer不安全,不稳定。
参考:
https://blog.csdn.net/aitangyong/article/details/39453365
https://blog.csdn.net/swebin/article/details/78571933
结构: