Java多线程与并发之ThreadLocal( 十 )
private Entry getEntryAfterMiss(ThreadLocal<?> key int i Entry e) {
Entry[
tab = table;int len = tab.length;
while (e != null) {
ThreadLocal<?> k = e.get();
if (k == key)
return e;
if (k == null)
//将过期的key清除掉 , 并把后面的元素(移动过位置的)往前移
expungeStaleEntry(i);
else
//往后移一位
i = nextIndex(i len);
e = tab[i
;return null;
private static int nextIndex(int i int len) { return ((i + 1 < len) ? i + 1 : 0);
推荐阅读
- 辉月|王者:复活甲被动触发之后,是换名刀,还是换辉月?你觉得呢?
- 我的世界|我的世界:Java种子新出炉,内陆蘑菇岛算什么,这些种子它不香?
- fate grand order|FGO:FA复刻强化本介绍,大公踏出了连发之路的第一步
- Java|Java 地位不保,落后已成定局 ?| 10月编程语言排行
- Java|Lombok 简单方便,为什么有些公司不让用?
- 酷睿处理器|全线冲击超线程!十代i3一出,9100F王朝真的要结束了吗
- Java|面试官:开口要25K,我就用了2成功力,把你问到怀疑人生(Java)
- 在家里睡觉、刷剧,不如看看这些份Java面试宝典,跳槽面试不心慌!
- 工作10年,面试超过300人想进阿里的同学,总结出的java面试69题
- BAT面试题汇总:分布式+Dubbo +JVM+微服务+多线程+Spring附答案