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 条评论