https://www.jianshu.com/p/d275812816e5

https://zhuanlan.zhihu.com/p/138021686

一、Reference的四大状态

  • active:创建好了Reference,就进入active状态。

    active状态下,如果引用对象的可到达状态发送变化就会转变成Inactive或Pending状态。

  • inactive:Inactive状态很好理解,到达Inactive状态的Reference状态不能被改变,会等待GC回收。

  • Pending:Pending状态代表等待入Queue,Reference内部有个ReferenceHandler,会调用enqueue方法,将Pending对象入到Queue中。

  • Enqueued:入Queue的对象,其状态就变成了Enqueued。

    Enqueued状态的对象,如果调用poll方法从ReferenceQueue拿出,则该Reference的状态就变成了Inactive,等待GC的回收。


0 条评论

发表回复

您的电子邮箱地址不会被公开。