艾利斯顿商学院,Java目标的四种引证方法,面试碰到怎么说?-w88优德官网

频道:天下足球 日期: 浏览:152

咱们知道在Java中除了根底的数据类型以外,其它的都为引证类型。 而Java依据其生命周期的长短将引证类型又分为 强引证、软引证、弱引证、幻象引证

正常情况下咱们平常基本上咱们只用到强引证类型,而其他的引证类型咱们也就在面试中,或许素日阅览类库或其他结构源码的时分才干见到。

1.强引证

咱们素日里边的用到的new了一个目标便是强引证,例如 Object obj = new Object(); 当JVM的内存空间缺乏时,甘愿抛出OutOfMemoryError使得程序反常停止也不愿意收回具有 强引证的存活着的目标

记住是存活着,不或许是你new一个目标就永久不会被GC收回。当一个一般目标没有其他引证联系,只需超过了引证的效果域或许显现的将引证赋值为null时,你的目标就标明不是存活着,这样就会能够被GC收回了。当然收回的时刻是不一定的详细得看GC收回战略。

2.软引证

软引证的生命周期比强引证短一些。软引证是经过 SoftReference 类完成的。

Object obj = new Object();
SoftReference softObj = new SoftReference(obj);
obj = null; //去除强引证

这样便是一个简略的软引证运用办法。经过 get() 办法获取目标。当JVM以为内存空间缺乏时,就回去企图收回软引证指向的目标,也便是说在JVM抛出 OutOfMemoryError 之前,会去整理软引证目标。软引证能够与引证行列 (ReferenceQueue) 联合运用。

Object obj = new Object();
ReferenceQueue queue = new ReferenceQueue();
SoftReference softObj = new SoftReference(obj,queue);
obj = null; //去除强引证

当 softObj 软引证的 obj 被GC收回之后, softObj 目标就会被塞到 queue 中,之后咱们能够经过这个行列的 poll() 来查看你关怀的目标是否被收回了,假如行列为空,就回来一个 null。反之就回来软引证目标也便是 softObj 。

软引证一般用来完成内存灵敏的缓存,假如有闲暇内存就能够保存缓存,当内存缺乏时就整理掉,这样就保证运用缓存的一起不会耗尽内存。例如图片缓存结构中缓存图片便是经过软引证的。

3.弱引证

弱引证是经过 WeakReference 类完成的,它的生命周期比软引证还要短,也是经过 get() 办法获取目标。

Object obj = new Object();
WeakReference

weakObj = new WeakReference

(obj);
obj = null; //去除强引证

在GC的时分,不论内存空间足缺乏都会收回这个目标,相同也能够合作 ReferenceQueue 运用,也相同适用于内存灵敏的缓存。 ThreadLocal 中的key就用到了弱引证。

4.幻象引证

也称虚引证,是经过 PhantomReference 类完成的。任何时分或许被GC收回,就像没有引证相同。

Object obj = new Object();
ReferenceQueue queue = new ReferenceQueue();
PhantomReference

phantomObj = new PhantomReference

(obj , queue);
obj = null; //去除强引证

无法经过虚引证拜访目标的任何特点或许函数。那就要问了要它有什么用?虚引证仅仅只是供给了一种保证目标被 finalize 以后来做某些工作的机制。比如说这个目标被收回之后发一个体系告诉啊啥的。虚引证是有必要合作 ReferenceQueue 运用的,详细运用办法和上面说到软引证的相同。首要用来盯梢目标被废物收回的活动。

对技能提高以及学习规划有爱好的能够重视我后台私信“架构”获取整理好的进阶材料以及面试真题解析等等。

  本公司将依据项目展开及出资金额实行相应的审议程序及信息发表责任。

  估计本协议不会对本公司2019年度的运营成绩发生严重影响。

  一、战略协作协议的概略

  为推动康佳集团股份有限公司(下称“本公司”)环保事务的可持续展开,本公司的控股子公司毅康科技有限公司(下称“毅康公司”)与吕梁市柳林县人民政府(下称“柳林县政府”)、北京金投清蓝环境科技有限公司(下称“金投清蓝公司”)、三一筑工科技有限公司(下称“三一筑工公司”)于近来签署了《吕梁市柳林固废基新材料

喜马拉雅猫,深康佳B:关于控股子公司签定战略协作协议的布告-w88优德官网

  • w88优德手机版本_优德88官方网老虎机_w88中文版

  • 一骑当千,三川才智(300066)融资融券信息(11-07)-w88优德官网

  • 优德88手机登录_优德88手机客户端_w88优德体育平台

  • 热门
    最新
    推荐
    标签

      本公司将依据项目展开及出资金额实行相应的审议程序及信息发表责任。

      估计本协议不会对本公司2019年度的运营成绩发生严重影响。

      一、战略协作协议的概略

      为推动康佳集团股份有限公司(下称“本公司”)环保事务的可持续展开,本公司的控股子公司毅康科技有限公司(下称“毅康公司”)与吕梁市柳林县人民政府(下称“柳林县政府”)、北京金投清蓝环境科技有限公司(下称“金投清蓝公司”)、三一筑工科技有限公司(下称“三一筑工公司”)于近来签署了《吕梁市柳林固废基新材料

    喜马拉雅猫,深康佳B:关于控股子公司签定战略协作协议的布告-w88优德官网

  • 优德88注册_优德888官网_w88优徳

  • 梦见下大雨,苏交科(300284)融资融券信息(11-07)-w88优德官网

  • w88优德手机版本_优德88官方网老虎机_w88中文版

  • 椒盐虾,我武生物(300357)融资融券信息(11-07)-w88优德官网

  • w优德88亚洲_优德88手机中文版app下载_W88体育

  • 一骑当千,三川才智(300066)融资融券信息(11-07)-w88优德官网

  • 北川景子,元力股份(300174)融资融券信息(11-07)-w88优德官网