首页 > 编程语言 >Java - Java 中的四种引用

Java - Java 中的四种引用

时间:2022-10-28 12:04:38浏览次数:49  
标签:Java 对象 是否 回收 队列 GC 引用 四种


强引用


Object o = new Object();


只要强引用还存在,垃圾回收器就永远不会回收掉该对象。


软引用


  • 描述有用但是非必需的对象,使用softReference 类来实现
  • 是否回收对象取决于JVM 内存是否充足
  • 可用软引用实现内存敏感的高速缓存

弱引用


  • 描述非必需对象,使用weakReference 来实现
  • 被弱引用关联的对象只能存活到下一次GC

虚引用


最弱的一种引用关系,无法通过一个虚引用获得一个对象实例。一个对象是否有虚引用都不会对其生存周期构成影响。设置虚引用的唯一目的就是在垃圾回收时,收到一个系统通知。



虚引用与 软引用、弱引用的一个区别在于:虚引用必须和引用队列(ReferenceQueue)联合使用。当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就会将这个虚引用加入到与之关联的引用队列里,程序可以通过这个引用队列是否加入了虚引用,来判断对象是否要被GC,可根据需求在GC 前采取某些动作。

标签:Java,对象,是否,回收,队列,GC,引用,四种
From: https://blog.51cto.com/u_11290086/5804050

相关文章