4. ThreadLocal 的具体实现原理是,在 Thread 类里面有一个成员变量ThreadLocalMap,它专门来存储当前线程的共享变量副本,后续这个线程对于共享变量的操作,都是从这ThreadLocalMap 里面进行变更,不会影响全局共享变量的值。
以上就是我对这个问题的理解。
二、问题总结
ThreadLocal 使用场景比较多,比如在数据库连接的隔离、对于客户端请求会话的隔离 等等。
在 ThreadLocal 中,除了空间换时间的设计思想以外,还有一些比较好的设计思想,比如线性探索解决 hash 冲突,数据预清理机制、弱引用 key 设计尽可能避免内存泄漏等。这些思想在解决某些类似的业务问题时,都是可以直接借鉴的。
好的,本期高手面试系列的文章就到这里结束了,喜欢的朋友记得点赞和收藏。
我是 浮生,一个工作了 14 年的 Java 程序员,咱们下期再见。
三、粉丝福利
最近很多同学问我有没有java学习资料,我根据我从小白到架构师多年的学习经验整理出来了一份50W字面试解析文档、简历模板、学习路线图、java必看学习书籍?、 需要的小伙伴 可以关注我
公众号:“?灰灰聊架构?”, 回复暗号:“?321?”即可获取