强引用、软引用、弱引用、虚引用有什么区别?
程序员文章站
2023-12-31 22:36:28
强引用、软引用、弱引用、虚引用,这四种引用的强弱依次减弱。共同继承Reference java.lang;强引用:只要强引用的关系还存在,垃圾收集器就永远不会回收掉引用的对象;软引用:在系统将要发生内存溢出之前,江湖把这些对象列入回收范围之中进行第二次回收;如果回收后的内存还是不够,才会抛出内存溢出异常。弱引用:被弱引用关联的对象只能生存到下一次垃圾收集之前,当垃圾收集器工作室,无论内存空间是否足够,都会回收掉被弱引用关联的对象;虚引用:一个对象是否有虚引用的存在,...
强引用、软引用、弱引用、虚引用,这四种引用的强弱依次减弱。
共同继承Reference<T> java.lang;
强引用:只要强引用的关系还存在,垃圾收集器就永远不会回收掉引用的对象;
软引用:在系统将要发生内存溢出之前,江湖把这些对象列入回收范围之中进行第二次回收;如果回收后的内存还是不够,才会抛出内存溢出异常。
弱引用:被弱引用关联的对象只能生存到下一次垃圾收集之前,当垃圾收集器工作室,无论内存空间是否足够,都会回收掉被弱引用关联的对象;
虚引用:一个对象是否有虚引用的存在,完全不会对其生存时间构成影响,也无法通过虚引用来获得一个对象的实例。为一个对象设置虚引用关联的唯一目的就是在能在这个对象被收集器回收时收到一个系统通知。
本文地址:https://blog.csdn.net/weixin_44786007/article/details/108587006