Open zhanggao opened 4 years ago
Thread 内部有一个成员变量map,map的key是ThreadLocal对象,value是用户存进去的值。
key用的是弱引用,value是强引用。
map的实现和HashMap有比较大的区别,ThreadLocalMap内部有个table数组,put时如果hash冲突会放到table数组的下一个位置;get时根据hash找到table数组位置,如果对应位置不是当前get的key则顺着数组往下找。容量超过3/4也会扩容。
Thread 内部有一个成员变量map,map的key是ThreadLocal对象,value是用户存进去的值。
key用的是弱引用,value是强引用。
map的实现和HashMap有比较大的区别,ThreadLocalMap内部有个table数组,put时如果hash冲突会放到table数组的下一个位置;get时根据hash找到table数组位置,如果对应位置不是当前get的key则顺着数组往下找。容量超过3/4也会扩容。