-
强引用:不会被GC回收掉,即使发生OOM也不会被回收
使用场景:new
出来的对象就是强引用
-
软引用:内存充足时不会被GC回收,内存不足时会被GC回收
使用场景:缓存
-
弱引用:发生GC就会被回收掉
使用场景:ThreadLocal等
-
虚引用:无法通过
get
方法获取到值,无论发不发生GC
使用场景:堆外内存回收
强引用:不会被GC回收掉,即使发生OOM也不会被回收
使用场景: new
出来的对象就是强引用
软引用:内存充足时不会被GC回收,内存不足时会被GC回收
使用场景:缓存
弱引用:发生GC就会被回收掉
使用场景:ThreadLocal等
虚引用:无法通过get
方法获取到值,无论发不发生GC
使用场景:堆外内存回收