Java的四种引用——强弱软虚

1、强引用—用new

      当我们用new向堆区申请一片内存空间时,此时就是强引用。

      当内存不足,GC(垃圾收集器)不会回收该强引用的对象。

2、软引用—用SofeReference类实现

      用来描述一些还有用但并非必需的对象。

      对于该类对象,当系统将发生内存溢出前,JVM将会把这类对象列入回收范围中进行第二次回收。如果这次回收还没有足够的内存,抛出内存溢出。

3、弱引用—用WeakReference类实现

      用来描述非必需对象,强度比软引用更弱一些,被弱引用关联的对象只能生存到下一次垃圾收集发生之前。

      当GC工作时,无论当前内存是否足够,都会回收掉只被弱引用关联的对象。

4、虚引用—用PhantomReference类实现

      唯一目的就是用来在对象被GC回收时收到一个系统通知

posted @ 2016-05-27 11:19  fankongkong  阅读(619)  评论(1编辑  收藏  举报