Java四种引用概念,强,软,弱,虚引用

编程

JDK1.2之后,Java对引用的概念进行了扩充,强引用(Strong Reference),软引用(Soft Reference),弱引用(Weak Reference),虚引用(Phantom Reference)四种。

强引用:在程序代码中最常见的存在,比如 A a = new A();这种引用只要引用还在,垃圾收集器永远不会回收掉被引用的对象。

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

弱引用:描述非必须对象的,但是它的强度比软引用还要弱一些,被弱引用的关联对象只能生存到下一次垃圾收集发生之前,当垃圾收集器工作时候,无论当前内存是否作古,都会回收被弱引用关联的对象。

虚引用:最弱的关联关系,一个对象是否有虚引用的存在,完全不会对其生存时间构成影响,也无法通过虚引用来取得一个对象的实例,设置虚引用的唯一目的就是能够在这个对象被收集器回收时收到一份系统通知。

 

以上是 Java四种引用概念,强,软,弱,虚引用 的全部内容, 来源链接: utcz.com/z/515665.html

回到顶部