FinalReference
一、总结
1.jdk 1.8.0
2.特点
- 强引用可以直接访问目标对象;
- 强引用锁指向的对象在任何时候都不会被系统回收。JVM宁愿抛出OOM异常也不回收强引用所指向的对象;
- 强应用可能导致内存泄露;
- FinalReference 不对外提供,类的访问权限 protect
二、源码分析
/* Final references, used to implement finalization */
class FinalReference<T> extends Reference<T> {
public FinalReference(T referent, ReferenceQueue<? super T> q) {
super(referent, q);
}
}
三、
Object obj = new Object();
只要强引用存在,GC就不会回收被引用的对象
博文参考:
Java引用类型
分享到:
相关推荐
当对象被垃圾回收时,FinalReference 会保持到 finalize() 方法执行完成,然后才会被回收。 总结,java.lang.ref 包中的四种引用类型——StrongReference、SoftReference、WeakReference 和 PhantomReference,提供...
- **FinalReference**(强引用):最常用的引用类型,只要还有强引用指向一个对象,那么这个对象就不会被垃圾回收。 ##### java.util包下的类 - **ArrayList**:动态数组实现的列表,支持快速随机访问。 - **...
需要注意的是,由于垃圾收集器的保守策略,即使对象的引用已经被设置为null,`FinalizerThread`仍然可以在`finalize`方法执行期间获取到对象,因为在这个阶段,对象的引用仍然存在于`FinalReference`中。 总结来说...
FinalReference引用 此类是一个package类型,表示它并不是公开的一部分,继承自Reference, 即表示也是一种特定的引用类型,因此每个包装在其中的对象在被回收之前,自己都会放到指定的referqyebceQueue当中. ...
1. 强引用(FinalReference): - 默认情况下,大部分对象的引用都是强引用。强引用是Java中最常见的引用类型,类似于C++中的指针。 - 它们直接指向对象,可以无限制地访问和操作目标对象。 - 强引用的对象在任何...
1. 强引用(FinalReference):强引用指的是,程序中有直接可达的引用,而不需要通过任何引用对象,如Object obj = new Object();中,obj为强引用。 2. 软引用(SoftReference):软引用,非强引用,但是可以通过软...
4. **FinalReference**:专为 `finalize()` 方法设计,确保在对象被回收前调用 finalize 方法。通常不直接使用,而是由 JVM 管理。 5. **PhantomReference**:最弱的引用类型,`get()` 总是返回 `null`,且对象不能...