弱引用怎样在java中回收?

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.概念

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

2.应用场景

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

3.实例

Objectobj1=newObject();
WeakReference<Object>weakObj1=newWeakReference<Object>(obj1);
WeakReference<Object>weakObj2=newWeakReference<Object>(newObject());
//主动回收
System.gc();
System.out.println(weakObj1.get());//非null
System.out.println(weakObj2.get());//null

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

原文来自:https://www.py.cn

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容