Java中的引用分强引用、软引用、弱引用、虚引用。
强引用: 常用Object object = new Object,只要强引用还在,垃圾回收器就不会回收这样的对象。
软引用: 用来描述还有用但非必须的对象,如果系统内存不够用了,才会回收这些引用。
弱引用: 用来描述非必须的对象,不管内存够不够用,当开始进行垃圾回收的时候,都会回收掉这些被弱引用关联的对象。
虚引用: 最弱的一种引用关系。无法通过虚引用获得一个对象实例。使用虚引用主要是为了在系统执行垃圾回收的时候,收到一个系统通知。
虚引用必须消息队列一起使用,当系统开始垃圾回收的时候,在把虚引用关联的对象回收之前,会把虚引用放入消息队列中,可以通过在消息队列中检查是否有虚引用来判断系统此时是否开始对该对象进行垃圾回收。
软引用和虚引用使用场景:可以用来实现内存敏感的高速缓存
参考资料:
https://blog.youkuaiyun.com/kevinx_xu/article/details/21419431

1788

被折叠的 条评论
为什么被折叠?



