java引用类型

JDK1.2之后,java对引用分为强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(Phantom Reference)

强引用就是指在程序代码之中普遍存在,如Object obj = new Object(),只要强引用存在,垃圾收集器永远不会回收掉被引用的的对象。即使发生OutOfMemoryError异常,应用程序终止。

软引用用来描述一些还有用但并非必须的对象。对于软引用关联着的对象,在系统将要发生内存溢出异常之前,会将这些对象列进回收范围之中进行第二次回收。如果回收后还是没有足够的内存,才会抛出内存溢出异常

弱引用用来描述非必需对象,但是它的强度比软引用更弱一些,被引用关联的对象只能生存到下一次垃圾收集发生之前,垃圾收集器工作时无论内存是否足够,都会回收掉只被弱引用关联的对象。

虚引用也称为幽灵引用或者幻影引用,它是最弱的一种关联关系。一个对象是否有虚引用存在,完全不会对其生存时间构成影响。虚引用的唯一目的就是在对象被垃圾收集器回收时收到一个系统通知。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Java引用概述 StrongReference(强引用) 不存在这个类 默认实现 Java.lang.ref提供...
    Gxgeek阅读 3,474评论 0 2
  • 来源:朱小厮 链接:http://blog.csdn.net/u013256816/article/details...
    会点代码的大叔阅读 2,915评论 0 1
  • 强引用 ( Strong Reference ) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝...
    tomas家的小拨浪鼓阅读 8,176评论 1 4
  • 导读 移动开发知识体系总章(Java基础、Android、Flutter) 基本数据类型 引用类型 强引用(Fin...
    彭空空阅读 9,520评论 0 3
  • GC在收集一个对象的时候会判断是否有引用指向对象,在JAVA中的引用主要有四种: 强引用(Strong Refer...
    BelieveFrank阅读 3,034评论 0 0

友情链接更多精彩内容