ThreadLocal面经求解答

今天面试某大厂的时候,面试官问我,ThrealLocal原理是什么?

我答:是每个Thread里面都有一个ThrealLocalMap,key是ThrealLocal,value是我们存的Object,当我们调用set的时候,就会去当前线程所持有的ThrealLocalMap放入一个k-v对,k是当前的ThrealLocal对象,value是Object,当我们调用get的时候,会去ThrealLocalMap中,找到当前ThrealLocal对象对应的value返回

面试官反问:你确定ThrealLocalMap是每个线程的都持有一个吗?不是所有线程共享的吗?

我答:确定

面试官反问:那线程里的ThrealLocalMap是用static变量修饰的吗?

我答:应该不是

面试官:你可以回去再看一看

听面试官的意思是我答的不对,但刚刚我看源码,我好像就是每个Thread都持有一个ThreadLocalMap,不知道是不是我理解错了,请各位大佬解答一下。

附上源码
前面几张图是get&set方法,最后一张是Thread持有ThreadLocalMap,并没有用static修饰

#牛客解忧铺##如何判断面试是否凉了##我的实习求职记录##投递实习岗位前的准备#
全部评论
我觉得你回答的没有问题
6 回复 分享
发布于 2023-09-05 17:46 陕西
threadLocals是变量,没有加static修饰,而ThreadLocalMap是ThreadLocal的内部类,加了static修饰,是一个静态内部类,其作用主要是依托ThreadLocal类隐藏自己,外部无法随意访问到。
4 回复 分享
发布于 2023-09-16 22:40 广东
之前的版本是所有线程共享一个map
1 回复 分享
发布于 2023-09-10 01:38 广西
ThreadLocalMap就是成员变量
1 回复 分享
发布于 2023-09-06 03:52 宁夏
嗨,你好啊!看到你在面试中遇到了关于ThreadLocal的问题,我来帮你解答一下。 根据你的描述,你的回答基本是正确的。每个线程确实都有一个ThreadLocalMap,其中key是ThreadLocal对象,value是我们存储的Object。当我们调用set方法时,会将当前ThreadLocal对象和对应的value存入当前线程的ThreadLocalMap中。而调用get方法时,会根据当前ThreadLocal对象在ThreadLocalMap中找到对应的value并返回。 至于面试官的反问,ThreadLocalMap并不是所有线程共享的,而是每个线程都持有一个独立的ThreadLocalMap。这是因为ThreadLocal的设计初衷就是为了在多线程环境下实现线程间的数据隔离。 关于ThreadLocalMap是否使用static修饰,根据你提供的源码,Thread确实持有一个ThreadLocalMap,但并没有使用static修饰。这是因为每个线程都有自己独立的ThreadLocalMap,不需要使用static修饰。 如果你还有其他关于ThreadLocal的问题,或者有其他求职相关的问题,都可以告诉我哦。我会尽力帮助你的!如果你想继续聊天,可以点击我的头像进行私信聊天哦~
1 回复 分享
发布于 2023-09-05 17:16 AI生成
可能你之前确定了每个线程里面有这个threadlocalmap,如果你真的确定,就说明你应该也能确定这个属性他肯定不是static修饰的,但是你后面又说应该不是,有点不确定。前后有点冲突,面试官有点怀疑你的基础吧,纯属个人猜测
点赞 回复 分享
发布于 2024-08-03 11:28 广东
我怎么觉得他只是在诈你
点赞 回复 分享
发布于 2023-10-15 00:28 江西
threadlocal结构大改过 可能你看的版本和面试官不一样 我也是面试被问蒙了 后来去查才发现
点赞 回复 分享
发布于 2023-09-09 00:09 湖北
m
点赞 回复 分享
发布于 2023-09-05 17:47 北京

相关推荐

评论
8
53
分享

创作者周榜

更多
正在热议
更多
# AI面会问哪些问题? #
24396次浏览 478人参与
# 中国电信笔试 #
30956次浏览 283人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
14016次浏览 209人参与
# 你的实习产出是真实的还是包装的? #
18542次浏览 329人参与
# 如果秋招能重来,我会____ #
96464次浏览 499人参与
# 春招至今,你的战绩如何? #
59264次浏览 535人参与
# 厦门银行科技岗值不值得投 #
7403次浏览 185人参与
# i人适合做什么工作 #
36662次浏览 123人参与
# 我是面试官,请用一句话让我破防 #
79296次浏览 219人参与
# 哪些公司真双非友好? #
69134次浏览 287人参与
# 找AI工作可以去哪些公司? #
7515次浏览 177人参与
# 从事AI岗需要掌握哪些技术栈? #
7501次浏览 236人参与
# 五一之后,实习真的很难找吗? #
102791次浏览 584人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
339750次浏览 2163人参与
# 你做过最难的笔试是哪家公司 #
29614次浏览 179人参与
# 你小时候最想从事什么职业 #
159827次浏览 2072人参与
# 阿里笔试 #
176066次浏览 1300人参与
# 金三银四,你的春招进行到哪个阶段了? #
21445次浏览 274人参与
# 一张图晒出你司的标语 #
3781次浏览 71人参与
# 面试被问期望薪资时该如何回答 #
382436次浏览 2163人参与
# 晶盛机电求职进展汇总 #
35211次浏览 318人参与
# 应届生第一份工资要多少合适 #
20455次浏览 84人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务