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()时会自动释放,因此很适合做缓存这一类的需求。
上一篇:python中repr函数有什么用
下一篇:python中map函数和filter函数的区别分析