四种引用类型

四种引用类型

强引用

常见的new,不会被回收

Integer a = new Integer(1);

软引用

内存不够就回收了,

SoftReference<Integer> b = new SoftReference<Integer>(1);

弱引用

不够内存够不够,都会回收

WeakReference<Integer> c = new WeakReference<Integer>(1);

虚引用

  1. 当引用被回收时,如果发现存在虚引用,加把这个加到队列里面,通过队列的变化知晓回收时间然后做相应处理。
  2. 堆外内存释放
ReferenceQueue q = new ReferenceQueue<Integer>();
PhantomReference<Integer> d = new PhantomReference<Integer>(1, q);
//当q的size变了,需要处理这个引用
posted @ 2021-05-13 16:56  二五树  阅读(362)  评论(0编辑  收藏  举报