引用

作者: 80a7ba2dd31d | 来源:发表于2019-06-19 19:42 被阅读0次

JDK1.2之后对引用进行了扩充,将引用分为:

强引用 (Strong Reference)

软引用 (Soft Reference)

弱引用 (Weak Reference)

虚引用 (Phantom Reference)

如果空间不足时,再抛弃这些对象。很多缓存功能的实现也符合这样的场景。

强引用、软引用、弱引用、虚引用,这4种引用的强度是依次递减的。

强引用 :在代码中普遍存在的,类似“Object obj = new Object()”这类引用,只要强引用还在,垃圾收集器永远不会回收掉被引用的对象。

软引用 :是一种相对强引用弱化一些的引用,可以让对象豁免一些垃圾收集,只有当jvm认为内存不足时,才会去试图回收软引用指向的对象。 jvm会确保在抛出OutOfMemoryError之前,清理软引用指向的对象。

弱引用 :非必需对象,但它的强度比软引用更弱,被弱引用关联的对象只能生存到下一次垃圾收集发生之前。

虚引用 :也称为幽灵引用或幻影引用,是最弱的一种引用关系,无法通过虚引用来获取一个对象实例,为对象设置虚引用的目的只有一个,就是当着个对象被收集器回收时收到一条系统通知。

相关文章

网友评论

      本文标题:引用

      本文链接:https://www.haomeiwen.com/subject/mtjlqctx.html