美文网首页
JVM读书笔记-引用-05

JVM读书笔记-引用-05

作者: 你缺少想象力 | 来源:发表于2019-01-18 11:34 被阅读0次

    这里要谈的是Java的四大引用
    分别是:
    强引用、软引用、弱引用、虚引用

    1. 强引用
      引用中的铁头娃,头有多铁,给你见识一下,无论内存有多不够,对不起,绝对不会给你回收了,宁愿内存溢出,也不愿意回收这个对象。
    2. 软引用
      软引用就比较识抬举,当内存不够的时候,软引用的对象就会被回收掉,把空间腾出来。
    3. 弱引用
      弱引用比软引用更加地位低,只要垃圾回收到这里来了,这个就会被清理掉。所以它的存活时间仅仅到下次垃圾回收的时候。
    4. 虚引用
      看了弱引用你还能想到比弱引用更低级的引用吗,有啊,虚引用,虚引用低到什么程度,可以这样说,虚引用连创建对象的资格都没有,那存在的意义是啥,就只是告诉大家垃圾回收到这里了,给大家提个醒。

    接下来我用通俗的方式把四大引用拟化成生活中的事情讲解一下,可以加深理解。

    假设内存是一个房间,垃圾回收器是打扫清洁的清洁员。

    1. 强引用
      强引用就相当于房间中的家具,清洁员是不会将这些家具给清理掉的。即便整个房间都塞满家具,也不会清理掉这些家具。
    2. 软引用
      软引用相当于房间中的旧家具或者不那么重要的家具,这些家具被贴上这样的标签:“当房间剩余空间不够的时候,可以把我丢掉。”
    3. 弱引用
      弱引用就好像是房间中的真正的垃圾,只要清洁员来一次,就会清理一次。
    4. 虚引用
      虚引用真的是人如其名,虚幻的,啥也不算,啥都没有,甚至连占房间空间的资格都没有,就好像房间中的空气一样,默默看着清洁员一次又一次的来打扫,自己啥都不能干。

    相关文章

      网友评论

          本文标题:JVM读书笔记-引用-05

          本文链接:https://www.haomeiwen.com/subject/hzogdqtx.html