Java 引用类型
Java 引用可见性
先看官方文档[1],截一下图。
Strongly reachable: 不解释了。
Softly reachable:通过遍历软引用可见(reachable)。
Weakly reachable:遍历弱引用可见,清理弱引用时,就可以执行 finalization 了。
Phantom reachable:已经执行了 finalized。
引用队列
应用可以将引用注册到引用队列让 gc
完成时
通知应用。参见 Reference.class 中 next 字段,
以及入队列的逻辑。
引用类型
强引用
强引用即是普通的 Java 引用,例如:
StringBuffer buffer = new StringBuffer();
创建一个 StringBuffer 实例会将一个指向它的强引用存储到变量 buffer。如果一个对象通过
一串强引用可见(reachable),则成为强可见。强可见表示一个对象不应被垃圾收集器回收。
当强引用过强时
评论0