您的位置:首页 > 编程语言 > Java开发

Java - Java 中的四种引用

2018-01-27 14:21 260 查看

强引用

Object o = new Object();


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

软引用

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

弱引用

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

虚引用

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

虚引用与 软引用、弱引用的一个区别在于:虚引用必须和引用队列(ReferenceQueue)联合使用。当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就会将这个虚引用加入到与之关联的引用队列里,程序可以通过这个引用队列是否加入了虚引用,来判断对象是否要被GC,可根据需求在GC 前采取某些动作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: