ITPub博客

首页 > IT职业 > IT生活 > 弱引用怎样在java中回收?

弱引用怎样在java中回收?

IT生活 作者:lanyu 时间:2021-09-11 10:04:34 0 删除 编辑

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

1.概念

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

2.应用场景

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

3.实例

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

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

以上就是在java使用弱引用回收的办法,不重要的数据都可以使用这种方法,当我们进行垃圾回收时就自动删除掉了,学会的小伙伴快试试吧。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2035/viewspace-2831552/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-29

  • 博文量
    96
  • 访问量
    7366