来自 http://www.iteye.com/topic/18162
Reference
引用分为强引用(Strong reference),和弱引用(wead reference),弱引用跟GC有很大的关系
当一个线程直接创建一个对象得到的引用是强引用,当没有对此对象的引用时对象将被垃圾回收
弱引用将对象(referent)封装成Reference的子类,当对象(referent)失去引用的时候被垃圾回收
但是还拥有reference的引用,可以重新获得此对象的引用,但是这需要在某种情况下,reference包括三个
主要的子类,分别是SoftReference,WeakReference,PhantomReference,其中,softReference当内存不够时
回收他包含的referent,WeakReference是他的referent为finalizable或finalized时将被回收,而PhantomReference
则可以通过轮巡他对应的ReferenceQueue得到失去引用的referent,他提供了比finalization机制更灵活的
方式,reference有个在static快中启动的线程,用来将pending的对象入队
1
SoftReference
Object obj = new Object();
SoftReference sr = new SoftReference(obj);
Object o = sr.get();
if (o != null) {
//对此对象进行操作
process(o);
} else {
// 此对象已被垃圾回收
}
2
PhantomReference
Object obj = new Object();
ReferenceQueue rq = new ReferenceQueue();
PhantomReference pr = new PhantomReference(obj , rq);
try {
while (true) {
Reference r = rq.remove();
if (r == pr) {
//此对象已被垃圾回收,所以入队了,从这里可以继续使用此对象
process(r);
//清空它,是此对象被垃圾回收
r.clear();
}
}
} catch (InterruptedException e) {
}
分享到:
相关推荐
reference中的reference中的reference中的reference中的
OpenGL Reference Manual OpenGL Reference Manual
MySQL 5.6 Reference Manual MySQL 5.6 Reference Manual MySQL 5.6 Reference Manual MySQL 5.6 Reference Manual MySQL 5.6 Reference Manual MySQL 5.6 Reference Manual MySQL 5.6 Reference Manual ...
brew reference brew reference brew reference
dataguard reference dataguard reference dataguard reference
OracleDatabase SQL Reference OracleDatabase SQL Reference OracleDatabase SQL Reference
MySQL 8.0 Reference Manual MySQL 8.0 Reference Manual
spring boot reference spring boot reference spring boot reference
RISCV Reference
ZK 5.0.5 Component Reference ZK 5.0.5 Configuration Reference ZK 5.0.5 Style Guide ZK 5.0.5 ZUML Reference
ANSYS Mechanical APDL Theory Reference
新 最新 最新版 FindReference2 FindReference Find Reference2 Reference
abaqus scripting reference manual用于ABAQUS的二次开发
MySQL 5.7 Reference Manual
MySQL 5.1 Reference Manual
The CSS Quick Syntax Reference is a 150-page syntax reference to the Cascading Style Sheet specification and style sheet language. It presents the essentials of CSS in a well-organized format that can...
db2 Administrative API Reference
reference paper
iOS Fuondation Framework Reference
FreeRTOS Reference Manual v8.2.3