当前位置: 首页 > news >正文

关于ThreadLocal

  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。

http://www.lryc.cn/news/65.html

相关文章:

  • 【C++】类和对象(中)
  • js下载文件
  • ESP8266 + STC15+ I2C OLED带网络校时功能的定时器时钟
  • 计算机入门基础知识大全
  • Python程序出现错误怎么办?
  • 【Vue3】v-if和v-for优先级
  • Windows上实现 IOS 自动化测试
  • Linux云服务器下怎么重置MySQL8.0数据库密码
  • JVM调优
  • 【配电网规划】SOCPR和基于线性离散最优潮流(OPF)模型的配电网规划( DNP )(Matlab代码实现)
  • 锦正茂EM3电磁铁的技术参数
  • Go最新版下载 Go1.20版新特性
  • Pywirt:一款基于Python的Windows安全应急响应工具
  • KDZD832 智能蓄电池活化仪
  • 纯css实现loading加载中(多种展现形式)
  • 【面试题】2023 vue高频面试知识点汇总
  • 跨境电商选品重要吗?
  • SpringBoot
  • python--turtle
  • NodeJS的后端Express项目部署到Ubuntu服务器,为前端提供API服务
  • 作为研发如何使用Github Api?
  • Java volatile学习
  • 用神经网络分类上和下
  • VS Code 1.75 发布!
  • Vue2仿网易云风格音乐播放器(附源码)
  • Spring相关面试题
  • 操作符详解(上篇)
  • 采样电路的3个组成部分
  • ffmpeg硬解码与软解码的压测对比
  • 操作符——“C”