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);        

    推荐阅读