ThreadLocal总结二:整理文档及谈论能够学到什么

背景知识
  1. 整理写过关于ThreadLocal的相关文档。
  2. 写了这么多文档,学到了什么?
过程
  • 文档入口
  1. ThreadLocal:基础知识及其应用
  2. ThreadLocal:内存泄漏分析及其解决方案
  3. ThreadLocal:在线程池中使用存在的问题及其解决方案
  4. ThreadLocal:工作过程
  5. ThreadLocal源码阅读:散列算法,魔数 0x61c88647 学习
  6. ThreadLocal源码阅读:如何保证取到最新值的?
  7. ThreadLocal源码阅读:散列算法,魔数 0x61c88647 带来的疑问与思考
  8. ThreadLocal源码阅读:如何解决hash碰撞的?
  9. ThreadLocal源码阅读:核心方法set源码探究
  10. ThreadLocal源码阅读:核心方法get源码探究
  11. ThreadLocal源码阅读:核心方法remove源码探究
  12. ThreadLocal:问题及其理解汇总
  • 学到什么
  1. 完美的均匀的散列算法,threadLocalHashCode & (length - 1)。

  2. 环形数组理解和灵活应用。

  3. 扩容逻辑理解。

  4. 弱引用垃圾收集过程,不关心是否内存充足,直接回收。

  5. 线性探测解决hash碰撞。

  6. hash碰撞分析过程。尤其是环形数组和弱引用ThreadLocal对碰撞概率的影响。

  7. 内存泄漏的分析过程。

  8. 对探索过程的练习,从基础知识,注意事项,工作过程,源码剖析,背后设计的意图。层层递进的思维方式。

小结
  1. 以后写代码,要学以致用,把ThreadLocal源码中用到的思想和技术,完全拿到自己项目中使用,不能生搬硬套,而是灵动地使用它,才是学这个知识点的最大收获。
  2. 添加弱引用对象的保护机制。
  3. 使用环形数组。节约空间,在容器中使用,还可以减少扩容频次。
  4. 使用线性探测解决hash碰撞思路。
  5. 自定义容器map,自定义Entry存放具体数据。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值