Java 的4种引用方式?

时间 : 2020-06-22
点击次数 : 308


      在 JDK 1.2 之后,Java 对引用的概念进行了扩充,将引用分为

      强引用 Strong Reference

      软引用 Soft Reference

      弱引用 Weak Reference

      虚引用 Phantom Reference

      强引用

      Object obj = new Object();

      代码中普遍存在的,像上述的引用。只要强引用还在,垃圾收集器永远不会回收掉被引用的对象。

      软引用

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

      弱引用

      描述非必须的对象,强度比软引用更弱一些,被弱引用关联的对象,只能生存到下一次垃圾收集发生前。当垃圾收集器工作时,无论当前内存是否足够,都会回收掉只被弱引用关联的对象。提供了 WeakReference 类来实现弱引用。

      虚引用

      一个对象是否有虚引用,完全不会对其生存时间够成影响,也无法通过虚引用来取得一个对象实例。为一个对象关联虚引用的唯一目的,就是希望在这个对象被收集器回收时,收到一个系统通知。提供了 PhantomReference 类来实现虚引用。

上一篇:Java内存讲解

上一篇:2020年端午节放假安排

友情链接:云联泰达OA开发
烟台网云网络科技有限公司 鲁ICP备14027327号-3

回到顶部