弱引用如何在java中回收

这篇文章主要介绍了弱引用如何在java中回收,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

专注于为中小企业提供成都网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业古丈免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

在我们对电脑内存清除时,有一项自动去掉垃圾的选项,只要点击就能把不相关的数据删除掉。在java的使用中弱引用就类似这种用法,只要我们进行清理,这方面的数据就会一同被消除掉。

1.概念

弱引用就更弱了,垃圾回收时直接会被回收掉,Java中使用WeakReference声明,一次gc就会被干掉,其余和软引用类似。

2.应用场景

弱引用同样是很多缓存实现的选择。

3.实例

Object obj1 = new Object();
WeakReference weakObj1 = new WeakReference(obj1);
WeakReference weakObj2 = new WeakReference(new Object());
//主动回收
System.gc();
System.out.println(weakObj1.get()); // 非null
System.out.println(weakObj2.get()); // null

补充:Java中提供了一个很棒的工具类WeakHashMap,按照注释所说,该类是一个键为弱引用类型的Map,与传统Map不同的是其键会自动删除释放掉,因为gc()时会自动释放,因此很适合做缓存这一类的需求。

感谢你能够认真阅读完这篇文章,希望小编分享的“弱引用如何在java中回收”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


分享文章:弱引用如何在java中回收
文章起源:http://scyanting.com/article/iiccop.html