Value ThreadLocalMap ThreadLocal Map Entry Thread:get执行主要流程
时间: 2023-12-13 13:34:22 浏览: 67
2、导致JVM内存泄露的ThreadLocal详解
根据提供的引用内容,可以得出以下回答:
ThreadLocal是一个壳子,它本身并不存储值,只是作为一个key来让线程从ThreadLocalMap获取value。ThreadLocal能够实现“数据隔离”,获取当前线程的局部变量值,不受其他线程影响。在ThreadLocal中,get()方法是获取当前线程的局部变量值的方法。get()方法首先通过Thread.currentThread()获取当前线程t,然后获取t的成员变量ThreadLocalMap记为map。如果map不为空,则根据当前ThreadLocal对象去获取ThreadLocalMap的Entry对象e,如果e不为空,则获取e的value并返回。如果map为空,则返回初始值并设置初始值。需要注意的是,ThreadLocalMap采用的是懒加载模式,用时再去初始化。
阅读全文