电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 认证考试-> Java认证
java中的测不准原理_java认证
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
测不准原理
     想做一个物理实验,看看某物质的导电情形,于是接上电压,并串联上一个安培计来观察电流,但是你知道吗? 安培计本身也带有电阻,造成你的实验准确度受到影响。诸如此类的问题在科学界很常见,所以有了「测不准原理」之说。不只是物理,测不准的现象在计算机上也有可能发生。比方说,你想写一个观察程序,观察 CPU 在执行某程序之下的使用率, 但是你的观察程序本身也会占用一部份的 CPU 效能,造成测出来的数据不精确。

   再想象下面的情况:如果你想写一个 Java 程序,观察某对象什么时候会被垃圾收集的执行绪清除,所以你必须要用 一个 reference 记住此对象,以便随时观察,但是却因此造成此对象的 reference 数目一直无法为零, 使得对象无法被清除。...... 又是「测不准」。

   java.lang.ref.WeakReference

   不过,现在有了 Weak Reference 之后,这就可以迎刃而解了。如果你希望能随时取得某对象的信息,但又不想影响此 对象的垃圾收集,那么你应该用 Weak Reference 来记住此对象,而不是用一般的 reference。请看下面的例子:

   ...

   WeakReference wr = new WeakReference(obj);

   ...

   if (wr.get()==null) {

   System.out.println(\"obj 已经被清除了 \");

   } else {

   System.out.println(\"obj
   尚未被清除,其信息是 \"+obj.toString());

   }

   ...

   在此例中,透过 get() 可以取得此 Reference 的所指到的对象,如果传出值为 null 的话,代表此对象已经被清除。

   这类的技巧,在设计 Optimizer 或 Debugger 这类的程序时常会用到,因为这类程序需要取得某对象的信息,但是不可以 影响此对象的垃圾收集。

   java.lang.ref.SoftReference

   Soft Reference 虽然和 Weak Reference 很类似,但是用途却不同。SoftReference 是用来设计 object-cache 之用的。 被 Soft Reference 指到的对象,即使没有任何 Direct Reference,也不会被清除。一直要到 JVM 内存不足时且 没有 Direct Reference 时才会清除,如此一来 SoftReference 不但可以把对象 cache 起来,也不会造成内存不足的错误 (OutOfMemoryError)。我觉得 Soft Reference 也适合拿来实作 pooling 的技巧。

   java.lang.ref.PhantomReference

   Phantom Reference 主要是用来取代对象的 finalize()。程序员利用 finalize() 来进行释放资源的同时,有可能不小心 让此对象再度拥有 Direct Reference。但是使用 Phantom Reference 则不会有此情形发生。和 Weak Reference 以 及 SoftReference 最大的不同是:Phantom Reference 一订要搭配着 ReferenceQueue 使用,因为 Phantom Reference 的 get() 传 出值一定是 null(以避免此对象不小心再度拥有 Direct Reference)。通常我们会设计一个 class 继承 PhantomReference,然 后 override 其 clear() 来定义释放资源等收尾的动作。当然,我宁可小心一点地使用 finalize(),也不愿意自找麻烦地使用 Phantom Reference。(中国程序员)

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·java认证的目的和步骤_java认证
·sun java it技术认证问题解答_java认证
·scjp认证套题解析之一_java认证
·jcreater+motoj2sdk的配置与使用心得_java认证
·java语言入门(2)_java认证
·java语言入门(1)_java认证
·在java中使用正则表达式_java认证
·java语言特点及开发工具jdk_java认证
·热门问题:java.exe出错错误分析_java认证
·java中的测不准原理_java认证

最新文章
·photoshop简单为美女照片瘦身及调色_photoshop教程
·photoshop模仿龟裂的瓷纹杯_photoshop教程
·photoshop绘鲜美葡萄 表现光影效果_photoshop教程
·java认证培训辅导:随机整数的生成_java认证
·java考试认证:scjp310-035考试心得_java认证
·通过java认证 scjp 考试之精辟总结_java认证
·java认证心得:顺利通过scjp测试全接触_java认证
·java认证培训辅导:随机整数的生成_java认证
·利用photoshop通道计算模拟反转负冲效果_photoshop教程
·linux下安装apache与php_php教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号