网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

如何在Java中引用队列和虚引用

如何在Java中引用队列和虚引用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

仲巴网站建设公司创新互联,仲巴网站设计制作,有大型网站制作公司丰富经验。已为仲巴1000多家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的仲巴做网站的公司定做!

一 点睛

引用队列由ReferenceQueue类表示,它用于保存被回收后对象的引用。当联合使用软引用、弱引用和引用队列时,系统在回收被引用的对象之后,将把它所回收对象对应的引用添加到关联的引用队列中。而虚引用在对象被释放之前,将把它对应的虚引用添加到它关联的引用队列中,这使得可以在对象被回收之前采取行动。

虚引用无法获取它所对应的对象。

二 实战

1 代码

import java.lang.ref.*;
public class PhantomReferenceTest
{
  public static void main(String[] args)
   throws Exception
  {
   // 创建一个字符串对象
   String str = new String("疯狂Java讲义");
   // 创建一个引用队列
   ReferenceQueue rq = new ReferenceQueue();
   // 创建一个虚引用,让此虚引用引用到"疯狂Java讲义"字符串
   PhantomReference pr = new PhantomReference (str , rq);
   // 切断str引用和"疯狂Java讲义"字符串之间的引用
   str = null;
   // 取出虚引用所引用的对象,并不能通过虚引用获取被引用的对象,所以此处输出null
   System.out.println(pr.get()); //①
   // 强制垃圾回收
   System.gc();
   System.runFinalization();
   // 垃圾回收之后,虚引用将被放入引用队列中
   // 取出引用队列中最先进入队列中的引用与pr进行比较
   System.out.println(rq.poll() == pr);  //②
  }
}

2 运行

null
true

看完上述内容,你们掌握如何在Java中引用队列和虚引用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


本文题目:如何在Java中引用队列和虚引用
路径分享:http://bjjierui.cn/article/pojcgj.html

其他资讯