测试WeakReference和PhantomReference
来源:互联网 发布:淘宝的淘气值怎么提升 编辑:程序博客网 时间:2024/06/05 04:18
介绍强引用(strong reference)、软引用(soft reference)、弱引用(weak reference)和虚引用(phantom reference)
下面测试WeakReference和PhantomReference
import java.lang.ref.PhantomReference;import java.lang.ref.Reference;import java.lang.ref.ReferenceQueue;import java.lang.ref.WeakReference;public class ReferenceTest {@SuppressWarnings("unchecked")public static void main(String[] args) {Reference<Object> ref;Object weakObj = new String("weak reference");Object phantomObj = new String("phantom reference");ReferenceQueue<Object> weakQueue = new ReferenceQueue<Object>();ReferenceQueue<Object> phantomQueue = new ReferenceQueue<Object>();WeakReference<Object> weakReference = new WeakReference<Object>(weakObj, weakQueue);PhantomReference<Object> phantomReference = new PhantomReference<Object>(phantomObj, phantomQueue);weakObj = null;phantomObj = null;System.out.println("Weak Reference: "+weakReference.get());System.out.println("Phantom Reference: "+phantomReference.get());//nullSystem.gc();//弱引用、虚引用被回收,同时加入到相关ReferenceQueueSystem.out.println("Weak Reference: "+weakReference.get());//nullSystem.out.println("Phantom Reference: "+phantomReference.get());//nullif(!phantomReference.isEnqueued()) {System.out.println("Request finalization.");System.runFinalization();}System.out.println("weak is queued: "+weakReference.isEnqueued());//trueSystem.out.println("Phantom Queued: " + phantomReference.isEnqueued());//truetry { ref = (Reference<Object>) weakQueue.remove(); System.out.println("Weak Reference: " + ref.get());//nullref = (Reference<Object>) phantomQueue.remove(); System.out.println("Phantom Reference: " + ref.get());//nullref.clear(); } catch(InterruptedException e) { e.printStackTrace(); } }}
0 0
- 测试WeakReference和PhantomReference
- SoftReference、WeakReference 和 PhantomReference
- Java中的SoftReference,WeakReference和PhantomReference
- 深入理解StrongReference,SoftReference, WeakReference和PhantomReference
- StrongReference、SoftReference、WeakReference、PhantomReference
- WeakReference,SoftReference,HardReference,PhantomReference
- StrongReference、SoftReference、WeakReference、PhantomReference
- StrongReference,SoftReference,WeakReference,PhantomReference
- StrongReference、SoftReference、WeakReference、PhantomReference
- 对StrongReference,WeakReference,SoftReference和PhantomReference的认识
- Java中三个引用类SoftReference 、 WeakReference 和 PhantomReference的区别
- Java中三个引用类SoftReference 、 WeakReference 和 PhantomReference的区别
- Android内存管理 强引用HardReference、弱引用WeakReference、软引用SoftReference和虚引用PhantomReference
- Java中三个引用类SoftReference 、 WeakReference 和 PhantomReference的区别
- Java中三个引用类SoftReference 、 WeakReference 和 PhantomReference的区别
- Java中三个引用类SoftReference 、 WeakReference 和 PhantomReference的区别
- Java中三个引用类SoftReference 、 WeakReference 和 PhantomReference的区别
- java中的三个引用类 SoftReference, WeakReference 和 PhantomReference的区别
- Xcode 左上角IOS Simulator不可选其他系统模拟器
- Activity 中 onSaveInstanceState和onRestoreInstanceState 区别
- 打印出100-999之间的数所有的“水仙花数”。。所谓水仙花数,就是指3位数,其各位数字立方和等于该数本身。
- CAS SERVER 登录部分定制开发
- spring mvc路径匹配原则
- 测试WeakReference和PhantomReference
- android 队列模仿listview同步加载图片
- nodejs 简单爬虫(一)
- TextView设置字体显示个数,超出部分省略号表示, 或者设置显示行数,超出部分按省略号显示
- python实战的博客
- Json转换利器Gson—— List to Json
- 批量删除".svn"文件夹方法
- IOS网络学习-5、GET请求和POST请求
- LINE_TO_STRING