首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Reference 、ReferenceQueue 详解

可以理解为Reference的直接子类都是由jvm定制化处理的,因此在代码中直接继承于Reference类型没有任何作用。但可以继承jvm定制的Reference的子类。...即如果有对象即将被回收,那么相应的reference对象就会被放到这个queue里。我们拿到reference,就可以再作一些事务。...Reference 实例( 即Reference中的真是引用对象referent )的4中可能的内部状态值 Queue的另一个作用是可以区分不同状态的Reference。...如果PhantomReference对象不管enqueue还是没有,都不会清除掉reference对象,那么怎么办?这个reference对象不就一直存在这了??...由此可见,pending是由jvm来赋值的,当Reference内部的referent对象的可达状态改变时,jvm会将Reference对象放入pending链表。

1.5K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android中的引用类型:Weak Reference, Soft Reference, Phantom Reference 和 WeakHashMap

    为了更好地管理内存,Java和Android提供了多种引用类型,包括Weak Reference、Soft Reference、Phantom Reference以及WeakHashMap。...Weak Reference(弱引用) Weak Reference是一种弱化版的引用类型。当一个对象只有弱引用指向它时,垃圾回收器会在下一次垃圾回收时回收该对象,即使内存还没有达到紧张的程度。...Phantom Reference(虚引用) Phantom Reference是最弱的一种引用类型。虚引用主要用于在对象被垃圾回收时执行一些清理操作。...Strong Reference(强引用) Strong Reference是最常见的引用类型。只要一个对象有强引用指向它,垃圾回收器就不会回收该对象。...Strong Reference:常规对象引用。 Weak Reference:适用于缓存和避免内存泄漏。 Soft Reference:适用于内存敏感的缓存。

    9410
    领券