关于ThreadLocal
创始人
2024-05-23 16:13:31
0
  1. 弱引用
    1.1 java中的各种引用和测试: https://blog.csdn.net/thewindkee/article/details/102723838
    1.2 treadlocal中的弱引用测试:
    https://blog.csdn.net/thewindkee/article/details/103726942 (这篇很重要)

  2. 内存泄露:
    https://zhuanlan.zhihu.com/p/523628871

  3. 综合考虑 内存泄露和弱引用:
    https://blog.csdn.net/weixin_43847283/article/details/125470183
    https://blog.csdn.net/weixin_38308374/article/details/113809477

  4. 开放地址法, 直接看整套源码分析:
    https://blog.csdn.net/qq_26470817/article/details/124993311

  5. 本篇也想阐述另一个点:
    //1.如果threadlocal是局部变量, 此也不会有什么gc后线程local0取出来是null的担心, 因为 语法上你就访问不了, 作用域超出了.
    //2. private static ThreadLocal local = new ThreadLocal(); 才是更通用的普遍用法
    //2.1 new ThreadLocal() 是 treadLocalMap中的key, 这个key是可以给各个变量共用的. 通过ThreadLocal-ThreadLocalMap
    //打通三个要素, a.某线程 treadId 的 b. 某块区域 即local表征 的 值 value
    // 2.2 此时说明 new ThreadLocal() 是线程安全的, 不会有多线程问题. 可共用作为各自线程的 treadLocalMap中的虚引用key(被虚引用包装) 本来就是为线程私有问题而设计的嘛, 自然共用也不会有问题

1.2中有这么一句: 而我们平时代码中写的那样,使用static final修饰threadLocal保留一个全局的threadLocal方便传递其他value(threadLocal一直被强引用)。这样就不会让gc回收 作为key的threadLocal。即不会导致key为null。

相关内容

热门资讯

新华社权威快报丨我国外汇储备规... (转自:中国金融信息中心)国家外汇管理局7月7日发布数据显示截至2025年6月末我国外汇储备规模为3...
布兰奇干洗店加盟费 布兰奇干洗... 布兰奇干洗店加盟费?投资撬动中国市场的杠杆!专业化的品牌企业,发展起来也会更轻松,布兰奇干洗店投资品...
布兰奇洗衣店加盟费多少钱 总投... 2019年投资什么行业赚钱呢?干洗行业就不错哦。布兰奇洗衣店的品牌影响力越来越广泛,是干洗行业中最受...
科创板平均股价30.54元,9... 以最新收盘价计算,科创板平均股价为30.54元,其中股价超100元的有39只,股价最高的是寒武纪。证...
喜家德水饺加盟 只合作直营不加... 东北水饺代言人:喜家德水饺加盟店,今年投资较好选择水饺是中国人喜欢吃的传统食品,喜家德水饺因其馅大、...
辟谣丨网传院士预测广东将发生8... 详情:近日,一张“院士预测广东将发生8级以上大地震”的截图在网络上流传。截图显示,名称为“倪四道”的...
2岁男婴落水青岛市民接力生死救... 转自:北京新闻广播 【#2岁男婴落水青岛市民接力生死救援...
上海智投企业登记代理有限公司 ... 新闻中心当前位置:首页新闻中心新闻详情登记注册代理公司2020-07-代办公司注册服务需要多少钱,好...
喜家得水饺加盟 喜家得水饺加盟... 【喜家德水饺产品优势】优选食材:优选一加一天然面粉喜家德水饺选用的麦芯粉来自一加一品牌天然面粉,生产...
VIP机会日报政策催化下 跨境... 转自:财联社注:财联社VIP为内容资讯产品,并非投资建议。以下内容仅为资讯价值展示非对相关公司的推荐...