ThreadLocalMap类
ThreadLocalMap类,也就是Thread.threadLocals
ThreadLocalMap类是每个线程Thread类里面的变量,里面最重要的是一个键值对数组Extry[] table,可以认为是一个map,键值对:
两种场景都是调用的map.set()类设置值,也就是说,两种场景都会对应到ThreadLocalMap的一个Entry,只不过是起点和入口不一样。
只
被弱引用关联(没有任何强引用关联),那么这个对象就可以被回收
。ThreadLocal空指针异常问题
共享对象
如果可以不使用ThreadLocal就解决问题,那么就不要强行使用,比如任务数很少的时候,在局部变量中可以新建对象就可以解决问题,那么就不需要使用到ThreadLocal
优先使用框架支持,而不是自己创造。