1. 为什么要有这4种引用?
为JVM对垃圾回收提供不同层次的控制。
2. 是什么以及各自适用的场景
强引用:普通Java引用;
软引用:垃圾回收时,空间不够会被回收;适用于缓存场景;
SoftReference<Object> sr = new SoftReference<>(obj);
弱引用:只要发生垃圾回收空间就会被回收;
虚引用:
为JVM对垃圾回收提供不同层次的控制。
强引用:普通Java引用;
软引用:垃圾回收时,空间不够会被回收;适用于缓存场景;
SoftReference<Object> sr = new SoftReference<>(obj);
弱引用:只要发生垃圾回收空间就会被回收;
虚引用: