WeakReference使用教程

 时间:2024-10-15 11:39:46

1、使用说明还是从测试例子开始说明,首先添加一个TestWeakReference测试例子/*** 测试弱引用* Created by shaowei on 2017/8/14.*/public class TestWeakReferece { public static void main(String[] args) { Object o = new Object(); WeakReference<Object> weak = new WeakReference<Object>(o); o = null; int i = 0; while (weak.get() != null) { i++; System.out.println("Object is not null. count is " + i); if (i % 10 == 0) { System.gc(); System.out.println("System.gc() was called!"); } try { Thread.sleep(500); } catch (InterruptedException e) { } } System.out.println("object o was cleared by JVM!"); }}

WeakReference使用教程

3、从示例代码中可以看出,WeakReference对象一直持有o对象,就是因为WeakReference类是弱引用持有o对象,才没有影响到垃圾回收器对o对象的回收。我们后续使用WeakReference时,就如图本例测试代码一样去构造WeakReference对象然后持有我们需要弱引用控制的类

WeakReference使用教程

5、ThreadLocalMap类构造器里创建了Entry集合来存放以ThreadLocal为key的一个value值

WeakReference使用教程

7、这个地方用到弱引用,即ThreadLocal对象回收不会被这里的Entry所影响

  • 苹果手机官网怎么查序列号
  • 怎样查看苹果手机11的“序列号”
  • iphone13手机在哪里查询真假
  • 2019年最新苹果手机如何查看购买日期或激活日期
  • mt552ta/a是什么版本
  • 热门搜索
    旅游意外伤害险 天津旅游政务网 红河旅游景点大全 观光旅游线路 春节去哪里旅游便宜 深圳到日本旅游 厦门岛内旅游景点 深圳到香港旅游 稻果旅游网 聚途旅游网