美文网首页
深入java四种引用类型

深入java四种引用类型

作者: __晨风__ | 来源:发表于2021-03-01 19:54 被阅读0次

    一 强引用

    强引用:我们见到的最多。。比如:Object a = new Object(); 在实际代码里,这种引用类型处处可见。。。。强引用什么时候被回收,在这种情况下,即使内存空间不足,它也不会被gc回收,而是会报OutOfMemoryError的错误,当把 o置为null的时候,这个时候才解除了强引用,才会被gc在合适的时间回收

    晨风-1 晨风-2

    二、软引用

    软引用就是当内存充足的时候。它不会被垃圾回收器回收,当内存空间不够用的时候,软引用就会被垃圾回收器回收,你要理解软引用SoftReference 是一个对象,该对象里存放着数据

    晨风-3

    执行之前设置下堆内存大小

    晨风-4

    三、弱引用

     弱引用就是不管内存中是否有空间,只要遇到垃圾回收器,就会被回收。用途: 是为了解决某些地方的内存泄露的问题。用在 ThreadLocal里面

    晨风-5

    四、虚引用

    虚引用会跟一个引用队列相关联使用,它的原理就是,当一个虚引用指向的对象被回收的时候,它会把一个信息添加到跟这个虚引用相关联的这个队列中。还有就是虚引用的get方法,返回的永远是 null;用途: 管理堆外内存 netty NIO

    晨风-6 晨风-7

    相关文章

      网友评论

          本文标题:深入java四种引用类型

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