当前位置: 首页 > news >正文

域名有了怎么做网站/磁力蜘蛛搜索引擎

域名有了怎么做网站,磁力蜘蛛搜索引擎,湖畔魔豆基金会公益网站开发,政府网站建设培训开班主持稿虚引用(PhantomReference)强引用是我们在编程过程中使用的最简单的引用,如代码String s”abc”中变量s就是字符串对象”abc”的一个强引用。任何被强引用指向的对象都不能被垃圾回收器回收,这些对象都是在程序中需要的。弱引用使用java.lang.ref.WeakRef…

虚引用(PhantomReference)

强引用是我们在编程过程中使用的最简单的引用,如代码String s=”abc”中变量s就是字符串对象”abc”的一个强引用。任何被强引用指向的对象都不能被垃圾回收器回收,这些对象都是在程序中需要的。弱引用使用java.lang.ref.WeakReference class 类来表示,你可以使用如下代码创建弱引用:

代码如下:

Counter counter = new Counter(); // strong reference - line 1

WeakReference weakCounter = new WeakReference(counter);

//weak reference

counter = null; // now Counter object is eligible for garbage collection

现在只要你给强引用对象counter赋空值null,该对象就可以被垃圾回收器回收。因为该对象此时不再含有其他强引用,即使指向该对象的弱引用weakCounter也无法阻止垃圾回收器对该对象的回收。相反的,如果该对象含有软引用,Counter对象不会立即被回收,除非JVM需要内存。Java中的软引用使用java.lang.ref.SoftReference类来表示,你可以使用如下代码创建软引用:

代码如下:

Counter prime = new Counter(); // prime holds a strong reference – line 2

SoftReference soft = new SoftReference(prime) ; //soft reference variable has

SoftReference to Counter Object created at line 2

prime = null; // now Counter object is eligible for garbage collection but only be

collected when JVM absolutely needs memory

强引用置空之后,代码的第二行为对象Counter创建了一个软引用,该引用同样不能阻止垃圾回收器回收对象,但是可以延迟回收,与弱引用中急切回收对象不同。鉴于软引用和弱引用的这一区别,软引用更适用于缓存机制,而弱引用更适用于存贮元数据。另一个使用弱引用的例子是WeakHashMap,它是除HashMap和TreeMap之外,Map接口的另一种实现。

WeakHashMap有一个特点:map中的键值(keys)都被封装成弱引用,也就是说一旦强引用被删除,WeakHashMap内部的弱引用就无法阻止该对象被垃圾回收器回收。

虚引用是java.lang.ref package包中第三种可用的引用,使java.lang.ref.PhantomReference类来表示。拥有虚引用的对象可以在任何时候被垃圾回收器回收。和弱引用和软引用相似,你可以通过如下代码创建虚引用:

代码如下:

DigitalCounter digit = new DigitalCounter(); // digit reference variable has strong

reference – line 3

PhantomReference phantom = new PhantomReference(digit); // phantom reference to object created at line 3

digit = null;

一旦移除强引用,第三行的DigitalCounter对象可以在任何时候被垃圾回收器回收。因为只有一个虚引用指向该对象,而虚引用无法阻止垃圾回收器回收对象。

除了了解弱引用、软引用、虚引用和WeakHashMap,还需要了解ReferenceQueue。在创建任何弱引用、软引用和虚引用的过程中你可以通过如下代码提供引用队列ReferenceQueue:

代码如下:

ReferenceQueue refQueue = new ReferenceQueue(); //reference will be stored in this queue for cleanup

DigitalCounter digit = new DigitalCounter();

PhantomReference phantom = new

PhantomReference(digit, refQueue);

引用实例被添加在引用队列中,你可以再任何时候通过查询引用队列回收对象。一个对象的生命周期可以通过下图进行描述:

在新窗口打开图片

这就是Java中弱引用和软引用的区别。我们还学到了一些基本的引用类:弱引用、软引用、虚引用以及WeakHashMap和WeakHashMap。总之,合理的使用引用可以帮助垃圾回收器更好的管理Java内存。

http://www.jmfq.cn/news/5006467.html

相关文章:

  • 南宁网站制作多少钱/陕西新闻今日头条
  • 咸阳个人兼职网站建设/免费制作小程序平台
  • 福田外贸网站建设/南宁百度seo建议
  • 怎么样做外链推广网站/seo排名软件
  • 凡科怎样免费做网站/软文推广发稿
  • 网站标题怎么做/seo关键词是什么
  • 南通网站设计/廊坊seo优化排名
  • 用python做网站开发的课程/排名优化培训
  • 做本地网站赚钱吗/国家卫健委:不再发布每日疫情信息
  • 网页制作与设计发展现状/西安seo培训学校
  • 做网站搞个物理服务器/友情链接有哪些展现形式
  • 上海网站建设-网建知识/seo整站优化方案案例
  • 做网站的备案/网络营销服务的特点有哪些
  • 淄博网站关键词优化/网站搭建服务
  • 网站建设投标书报价表/跨境电商平台有哪些?
  • seo中文含义/seo策略什么意思
  • 凡科做网站的模版在哪儿找/成都网络推广运营公司
  • 用帝国cms做企业网站/百度标注平台怎么加入
  • 长春做网站 信赖吉网传媒/seo网站诊断分析报告
  • 网站品牌高端定制/营销助手
  • 网站建设型网站横幅(banner)图片/常见的搜索引擎有哪些
  • js网站建设/2023年6月份疫情严重吗
  • 服装网站建设开题报告/杭州网站seo推广
  • 河北最新发布最新/汕头seo网站推广
  • 淮北集团网站建设/网店seo
  • wordpress安装不成功/长沙优化排名推广
  • 如何做英文网站/深圳网站建设专业乐云seo
  • 龙岗网站制作培训班/重庆百度推广开户
  • 国家家企业信用信息系统/重庆百度seo代理
  • 网站建设中主机放在哪里/专业做网站公司