美文网首页
Java引用

Java引用

作者: Weechan_ | 来源:发表于2019-02-13 16:08 被阅读0次

    强引用

    创建一个对象并把这个对象赋给一个引用变量。

    Object object =new Object();
    String str ="hello"
    

    强引用有引用变量指向时永远不会被垃圾回收,JVM宁愿抛出OutOfMemory错误也不会回收这种对象。

    软引用

    如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;

    MyObject aRef = new  MyObject();  
    SoftReference aSoftRef=new SoftReference(aRef);  
    

    此后,这个aRef对象成为了软引用对象。如果垃圾收集线程进行内存垃圾收集,并不会因为有一个SoftReference对该对象的引用而始终保留该对象。

    弱引用

    弱引用也是用来描述非必需对象的,当JVM进行垃圾回收时,无论内存是否充足,都会回收被弱引用关联的对象。JAVA用WeakReference实现弱引用

    虚引用

    虚引用也称为幻影引用:一个对象是都有虚引用的存在都不会对生存时间都构成影响,也无法通过虚引用来获取对一个对象的真实引用。
    唯一的用处:能在对象被GC时收到系统通知,JAVA中用PhantomReference来实现虚引用。

    image.png

    -- 本文抄自互联网

    相关文章

      网友评论

          本文标题:Java引用

          本文链接:https://www.haomeiwen.com/subject/upmreqtx.html