说到ThreadLocal的时候,很多人都能说出它的作用,用于存储线程的数据副本,使不同线程具有不同的数据。再谈到它的实现原理时,听到最多的就是说ThreadLocal内部维护着一个Map,这个Map的Key就是当前的Thread对象。按照这个思路,想当然的就是从ThreadLocal获取值的时候呢,通过内部的map.get(thread)获取。事实上真是这样实现的吗,翻开ThreadLocal源[……]

阅读全文