美文网首页
Java 四种引用

Java 四种引用

作者: 王多鱼2 | 来源:发表于2019-08-21 17:31 被阅读0次

1,强引用 StrongReference

如果一个对象具有强引用,那么垃圾回收器绝对不会回收它,当内存不足时宁愿抛出 OOM
错误,使得程序异常停止。
Object object = new Object(); 即是一个强引用。

2,软引用 SoftReference

如果一个对象只具有软引用,那么垃圾回收器在内存充足的时候不会回收它,而在内存不足
时会回收这些对象。

String value = new String(“sy”);
SoftReference sfRefer = new SoftReference (value );
sfRefer .get();//可以获得引用对象值

SoftReference 引用对象非常适合实现内存敏感的缓存,例如加载图片的时候,bitmap缓存机制。

3,弱引用 WeakReference

如果一个对象只具有弱引用,那么垃圾回收器在扫描到该对象时,无论内存充足与否,都会
回收该对象的内存。

String value = new String(“sy”);
WeakReference weakRefer = new WeakReference(value );

System.gc();

weakRefer.get();//null

弱引用解决内存泄露问题

4虚引用 PhantomReference

没用过

相关文章

网友评论

      本文标题:Java 四种引用

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