ThreadLocal
-
为线程存储数据的类。含有get(),set()方法。成员变量,ThreadLocals
有一个ThreadLocalMap静态内部类。
一个线程维护一个ThreadLocalMap,即成员变量ThreadLocals。一个线程可以有多个ThreadLocal对象,通过ThreadLocal对象获取同一线程的不同局部变量值 -
真正存数据的是ThreadLocalMap。一个线程有一个ThreadLocalMap,维护这一个entry类的table数组。Map中的Entry对象,弱引用类型,key是ThreadLocal对象,value是线程局部变量。map.set(ThreadLocal,value)
3)table数组的下标冲突如何解决的:初始哈希值,自增哈希值。
4)具有线程隔离的效果