ThreadLocal理解
个人对Threadlocal的理解就是每个线程的本地变量,做到了用空间换时间的办法。
相关的实现可以参考下面的图
做下相关的说明jdk1.3之前都是用的上面的没优化的示例图,下面的是改进的方式
相关的有点如下:
1.当线程结束的,这个线程的threadlocalMap将会统一的被回收掉
2.对于第一种没有尽心优化的时候,可能map的个数会很大,带来性能上的问题,
而对于优化的方式是get ->currentThread ->threadLocalMap -> thread ,这样来看每个thread的对应的threadlocal还是少很多的
相关的具体的实现分析可以参考如下地址
http://blog.****.net/a837199685/article/details/50806876