JavaInterview JavaInterview
首页
指南
分类
标签
归档
  • CSDN (opens new window)
  • 文档集合 (opens new window)
  • 系统架构 (opens new window)
  • 微信号 (opens new window)
  • 公众号 (opens new window)

『Java面试+Java学习』
首页
指南
分类
标签
归档
  • CSDN (opens new window)
  • 文档集合 (opens new window)
  • 系统架构 (opens new window)
  • 微信号 (opens new window)
  • 公众号 (opens new window)
  • 指南
  • 简历

  • Java

  • 面试

  • 算法

  • sourcecode
  • jdk
JavaInterview.cn
2022-04-21
目录

java.lang.ThreadLocalJava

文章发布较早,内容可能过时,阅读注意甄别。

# 1. 成员变量

  1. AtomicInteger nextHashCode获得下个hashcode

# 2. 成员函数

  1. get()从ThreadLocalMap中取元素ThreadLocalMap.Entry,ThreadLocalMap没有元素时,设置初始化值
        private T setInitialValue() {
            T value = initialValue();
            Thread t = Thread.currentThread();
            ThreadLocalMap map = getMap(t);
            if (map != null)
                map.set(this, value);
            else
                createMap(t, value);
            return value;
        }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
  2. remove()从ThreadLocalMap中remove(this)

# 3. 内部类

  1. static final class SuppliedThreadLocal<T> extends ThreadLocal<T>在ThreadLocal默认初始化时使用
        public static <S> ThreadLocal<S> withInitial(Supplier<? extends S> supplier) {
            return new SuppliedThreadLocal<>(supplier);
        }
    
    
    1
    2
    3
    4
  2. static class ThreadLocalMap类用于存储数据,此类中还有静态类
        static class Entry extends WeakReference<ThreadLocal<?>> {
            /** The value associated with this ThreadLocal. */
            Object value;
    
            Entry(ThreadLocal<?> k, Object v) {
                super(k);
                value = v;
            }
        }
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
微信 支付宝
#Java
最近更新
01
1637. 两点之间不包含任何点的最宽垂直区域 Java
06-26
02
1636. 按照频率将数组升序排序 Java
06-26
03
1638. 统计只差一个字符的子串数目 Java
06-26
更多文章>
Theme by Vdoing | Copyright © 2019-2025 JavaInterview.cn
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式