关于ThreadLocal,给大家推荐两篇很不错的博客。
第一篇博客: http://www.cnblogs.com/dolphin0520/p/3920407.html
该篇博客中有两句总结的话: 1、在每个线程Thread内部有一个ThreadLocal.ThreadLocalMap类型的成员变量threadLocals,这个threadLocals就是用来存储实际的变量副本的,键值为当前ThreadLocal变量,value为变量副本(即T类型的变量)。 2、初始时,在Thread里面,threadLocals为空,当通过ThreadLocal变量调用get()方法或者set()方法,就会对Thread类中的threadLocals进行初始化,并且以当前ThreadLocal变量为键值,以ThreadLocal要保存的副本变量为value,存到threadLocals。
第二篇博客: http://blog.csdn.net/lufeng20/article/details/24314381/
该篇博客讲解了ThreadLocal与Thread同步机制的区别,以及ThreadLocal在spring中的运用,讲得不错。
参考文献: 1: http://www.cnblogs.com/dolphin0520/p/3920407.html 2: http://blog.csdn.net/lufeng20/article/details/24314381/