四种引用类型主要是为了使得jvm的垃圾回收更加可控
强引用
如果对象存在一个强引用则不能被回收,及时报OOM
弱引用
如果对象没有强引用和软引用,有弱引用,则在垃圾回收时将其回收
软引用
如果对象没有强引用,有软引用,则尽量不回收,只有当内存不够用时将其回收
虚引用
无论什么时间都可能将其回收。主要是为了检测对象的回收。
弱引用,软引用和虚引用都可以放入引用队列,目的是在回收时可以看到对象的引用,或者回收后做些东西。
弱引用和软引用主要用于做缓存,没有OOM,棒棒哒
四种引用类型主要是为了使得jvm的垃圾回收更加可控
强引用
如果对象存在一个强引用则不能被回收,及时报OOM
弱引用
如果对象没有强引用和软引用,有弱引用,则在垃圾回收时将其回收
软引用
如果对象没有强引用,有软引用,则尽量不回收,只有当内存不够用时将其回收
虚引用
无论什么时间都可能将其回收。主要是为了检测对象的回收。
弱引用,软引用和虚引用都可以放入引用队列,目的是在回收时可以看到对象的引用,或者回收后做些东西。
弱引用和软引用主要用于做缓存,没有OOM,棒棒哒
本文标题:java 四种引用类型
本文链接:https://www.haomeiwen.com/subject/nadpjttx.html
网友评论