强引用
Object o = new Object();
只要强引用还存在,垃圾回收器就永远不会回收掉该对象。
软引用
- 描述有用但是非必需的对象,使用softReference 类来实现
- 是否回收对象取决于JVM 内存是否充足
- 可用软引用实现内存敏感的高速缓存
弱引用
- 描述非必需对象,使用weakReference 来实现
- 被弱引用关联的对象只能存活到下一次GC
虚引用
最弱的一种引用关系,无法通过一个虚引用获得一个对象实例。一个对象是否有虚引用都不会对其生存周期构成影响。设置虚引用的唯一目的就是在垃圾回收时,收到一个系统通知。
虚引用与 软引用、弱引用的一个区别在于:虚引用必须和引用队列(ReferenceQueue)联合使用。当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就会将这个虚引用加入到与之关联的引用队列里,程序可以通过这个引用队列是否加入了虚引用,来判断对象是否要被GC,可根据需求在GC 前采取某些动作。
标签:Java,对象,是否,回收,队列,GC,引用,四种 From: https://blog.51cto.com/u_11290086/5804050