设为首页 加入收藏 新网站入口

188bet金宝博滚球

与一般数据库的binlog不同的是,AOF文件是可识别的纯文本,它的内容就是一个个的Redis标准命令。另一个说明正则表达式非常有用的示例是一种其字符串处理能力还不为人所知的语言。相反,她很注重未来规划,花钱也是有的放矢。如下代码所示:publicclassPhantomRefTest2{??privatestaticReferenceQueuephanQueue=newReferenceQueue<>();??privatestaticMap,String>map=newHashMap<>();???publicstaticclassMyObject{?????@Override????protectedvoidfinalize()throwsThrowable????{??????super.finalize();??????System.out.println("MyObject'sfinalizecalled");????}?????@Override????publicStringtoString()????{??????return"IamMyObject";????}??}???publicstaticclassCheckRefQueueimplementsRunnable??{????Referenceobj=null;????@Override????publicvoidrun()????{??????try??????{????????obj=(Reference)phanQueue.remove();????????Objectvalue=map.get(obj);????????System.out.println("cleanresource:"+value);????????map.remove(obj);?????????System.out.println("删除的虚引用为:"+obj+"?but获取虚引用的对象obj.get()="+obj.get());????????System.exit(0);??????}??????catch(InterruptedExceptione)??????{????????e.printStackTrace();??????}????}??}???publicstaticvoidmain(String[]args)throwsInterruptedException??{????MyObjectobject=newMyObject();????ReferencephanRef=newPhantomReference<>(object,phanQueue);????System.out.println("创建的虚引用为:"+phanRef);????newThread(newCheckRefQueue()).start();????map.put(phanRef,"SomeResources");?????object=null;????TimeUnit.SECONDS.sleep(1);????inti=1;????while(true)????{??????System.out.println("第"+i+++"次gc");??????System.gc();??????TimeUnit.SECONDS.sleep(1);????}??}}运行结果:创建的虚引用为:java.lang.ref.PhantomReference@6a07348e第1次gcMyObject'sfinalizecalled第2次gccleanresource:SomeResources删除的虚引用为:java.lang.ref.PhantomReference@6a07348e?but获取虚引用的对象obj.get()=null参考资料:1.《Java程序性能优化——让你的Java程序更快、更稳定》葛一鸣等编著。

TOP

林茵大道
图片介绍

相关信息

浏览人次: 2062
发 布 者: qdnmgdjk
发布日期: 2012-03-02 14:14:55

相关栏目

最新图片

热门图片

推荐图片

相关图片