JVM----强引用/弱引用

强引用

  普通的变量引用
public static User user = new User();

 

软引用

  将对象用SoftReference软引用类型的对象包裹,正常情况不会被回收,但是GC做完后发现释放不出空间存放新的对象,则会把这些软引用的对象回收掉。软引用可用来实现内存敏感的高速缓存。
  适用场景:这些对象即使被GC回收也没关系,大不了重新生成。适用于缓存。
public static SoftReference<User> user = new SoftReference<User>(new User());

弱引用

将对象用WeakReference软引用类型的对象包裹,弱引用跟没引用差不多,GC会直接回收掉,很少用
public static WeakReference<User> user = new WeakReference<User>(new User());

虚引用

虚引用也称为幽灵引用或者幻影引用,它是最弱的一种引用关系,几乎不用
原文地址:https://www.cnblogs.com/yanxiaoge/p/14019369.html