java引用类型

2019-12-13  本文已影响0人  自由自在_7564

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

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读