• 技术文章 >java >java基础

    弱引用怎样在java中回收?

    小妮浅浅小妮浅浅2021-02-03 18:35:16原创2328

    本教程操作环境: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使用弱引用回收的办法,不重要的数据都可以使用这种方法,当我们进行垃圾回收时就自动删除掉了,学会的小伙伴快试试吧。

    专题推荐:java弱引用
    上一篇:java中软引用是什么?怎么用? 下一篇:java基础:虚引用如何使用?

    相关文章推荐

    • double如何在java中使用数字?• java中char是什么?如何使用?• boolean怎样java中实现取值?• java基础:基本类型如何转换?• java中的强引用如何理解?• java继承如何访问变量?• java中软引用是什么?怎么用?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网