强引用:正常代码中使用的引用,一般不会被回收
软引用:如果即将发生内存溢出,那么回收来腾出空间
弱引用:下一次GC时就回收
虚引用:实际并不引用数值,只是在对象被回收时,收到一个通知
Object obj = new Object();
ReferenceQueue queue = new ReferenceQueue ();
SoftReference ref = new SoftReference(obj );
WeakReference ref = new WeakReference(obj );
PhantomReference ref = new PhantomReference (obj, queue);
// 当需引用对象被回收时,queue就会加入ref这个对象
// 所以从queue是否包含ref就可以判断obj是否被回收
