ThreadLocal 简单了解

ThreadLocal 简单了解

​ 今天接了一个面试,问了我是否有写博客,我只能默默的回答了写评论算吗,面试官建议我写博客,毕竟可以写在简历上,这样面试官就可以先了解面试者的能力了。于是乎,我写了这个博客,可能比较差,请各位勿喷。

出现

JDK1.2 由Josh Bloch and Doug Lea大神共同编写

解决了什么问题

它可以为多线程中访问资源/对象时解决其共享的问题

实现

看一个类就先应看它的构造

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p1I9Nl5r-1605276241337)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\1605275434091.png)]

可以看到有一个 ThreadLocalMap 的内部类,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6NoXSXQp-1605276241338)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\1605275561438.png)]

这个内部类里还有一个Entry类,它继承了弱引用,

在垃圾回收器线程扫描到弱引用的对象,都会回收它的内存。不过由于垃圾回收器线程是优先级很低的线程,因此不一定会很快发现那些只具有弱引用的对象. 弱引用的生命周期是由垃圾回收器决定的,一旦发现垃圾回收线程发现了弱引用对象,下一次GC操作就会对其进行回收

正是这个Entry来实现解决其共享的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值