java四大引用

来源:互联网 发布:武汉国企java招聘信息 编辑:程序博客网 时间:2024/06/06 13:08

1.强引用

  只要一个对象具有强引用,垃圾回收器永远不会回收它。

2.软引用(SoftReference)

      内存充足时,垃圾回收器不会回收具有软引用的对象,内存不足垃圾回收器会回收具有软引用的对象。(可以做缓存)


使用方法:

   SoftReference ref = new SoftReference(T reference);

    //内部包含有指向T类型对象的引用

   ref.get() //获得保存的T类型对象的引用

应用场景:内存敏感的高速缓存。

3.弱引用(WeakReference)

    只要垃圾回收线程发现具有弱引用的对象,就会回收。

使用方法同软引用。

4.虚引用(PhantomReference)

与软引用和弱引用的区别:虚引用必须和引用队列联合使用,通过虚引用无法得到虚引用指向的对象。

用途跟踪被垃圾回收器回收的对象。通过判断引用队列中是否有虚引用,了解被引用的对象是否将被回收。JVM将虚引用插入到引用队列时,虚引用指向的对象内存还是存在的。





原创粉丝点击