垃圾回收:
在Thread里面有个ThreadLocalMap对象,ThreadLocalMap里面的EnTry继承了WeakReference<ThreadLocal>,垃圾回收的核心就在这个WeakReference。当CurrentThread销亡以后,ThreadLocalMap自然也会被回收,这个是很容易理解的。同时因为这里的EnTry继承了一个弱引用,当作为key的ThreadLocal被回收以后其在EnTry对应的值也会被回收。之前在想如果线程固定ThreadLocal频繁生死的时候会不会出现内存溢出的问题,事实证明即使这样也不会有内存溢出的问题,当然我想的这种情况在现实中应该也不会用到。

与同步对比:
Synchronized实现线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。

实例:

public class EnvUtils {
    public static Env getEnv() {
        return threadLocal.get();
    }

public static void removeEnv() {
        threadLocal.remove();
    }

private static ThreadLocal<Env> threadLocal = new ThreadLocal<Env>() {
        @Override
        protected Env initialValue() {
            return new Env();
        }
    };

本文转自 古道卿 51CTO博客,原文链接:http://blog.51cto.com/gudaoqing/1429750

ThreadLocal模式的一点小理解相关推荐

  1. 主仆模式的一点小理解

    主从模式根据名字来说就知道,拥有一主一从.对他的操作就有主有次.这种模式主要有两部分组成,主设备和从设备.主设备组件在相同的设备组件中分配工作,并计算最终结果,而这些结果是以后从设备返回的. 主从模式 ...

  2. Layui的一点小理解(上)

    首先声明这是个人的一点理解,如有不对之处请指正,以下的例子有在官网上看到的,有的是自己写的.还是老规矩最后会附上官网的,如有不明白之处,请查看文档或留言. 既然说Layui,当然要简单的介绍以下什么是 ...

  3. 硬核,学习 Java 的一点小建议(思维导图,建议收藏)!

    CSDN 收到一条读者的私信,情真意切,所以我承诺他今天一定写篇文章好好回复他一下.先来看一下他的私信内容吧. 首先映入我的眼帘的是这个称呼--"老前辈",我一下子没忍住,笑了! ...

  4. STM32F4单片机读取光电编码器的小理解

    STM32F4单片机读取光电编码器的小理解 大家好! 我是木兔同学,这是我第一次发CSDN的博客,本人接触的单片机主要是STM32f407,今天谈一谈STM32F4单片机读取光电编码器的小理解,希望大 ...

  5. 考研英语十附双语阅读:按点下班惹非议?一点小花招让你看起来超努力(纯阅读,有些方法不普适)

    按点下班惹非议?一点小花招让你看起来超努力 总的来说,早退远比迟到难看得多,所以你不妨经常十一二点再上班,然后工作到晚上8点,这样每个人都会误以为你回到每天工作11小时的模式上了. 想给老板和同事留下 ...

  6. AngularJS』一点小小的理解

    『AngularJS』一点小小的理解 AngularJS 是一个前端的以Javascript为主的MVC框架.与AngularJS相类似的还有EmberJS. 随着时代在进步,各种各样的开发理念与开发 ...

  7. 作为面试官的一点小感想

    这两天公司要招大数据开发的人,让我去面试这些应聘者,几天下来面试的人也有10多个人了,这其中有应届生.刚工作不久的以及有一定年限的,学历有本科和研究生等.通过和这些人交谈后,心里也有一点小感触和小想法 ...

  8. 函数的傅立叶展开掐死我吧_关于文章《傅里叶分析之掐死教程》的再一点小思考...

    封火星:关于文章<傅里叶分析之掐死教程>的一点小思考​zhuanlan.zhihu.com 以前的文章,从原理上更好的理解了原文中的一点,不过因为公式不是完全一样,从而有一个新问题不能解决 ...

  9. 局部二值模式LBP的详细理解

    局部二值模式LBP的噶几详细的理解 一个电脑小白的自我成长之路,总是这么的寂寞.孤独.无聊,却充满新奇.艰难,唯有坚韧不拔,持续奋斗,才可披荆斩棘.登临云端.各位看官们:"咋的,能不能上干货 ...

最新文章

  1. Java枚举类使用和总结
  2. 对象存储使用案例_杉岩MOS海量对象存储中标福建移动
  3. Java内存模型与happens-before原则
  4. Typeface 字体样式
  5. 自学Android!Android高级工程师面试题-字节跳动,附答案
  6. ASH的适用场景和常见用法(附2个经典案例)
  7. TensorFlow基础笔记(13) tf.name_scope tf.variable_scope学习
  8. 如何用python做一个时钟_Python使用turtle库制作一个时钟
  9. java无法远程读写HDFS系统解决方案
  10. 局域网IPC入侵心得
  11. win10 计算机 搜索文件,如何在win10搜索指定文件_教你在win10搜索指定文件的方法...
  12. 《基于微信小程序的美食推荐系统》硕士论文
  13. eos 测试网搭建,单节点,并使用命令行完成系统合约部署、账户创建、资产转账
  14. SpringBoot整合Apollo配置中心快速使用
  15. 2018年7月24日日报
  16. 打开CHM文件内部中文乱码问题的解决
  17. C语言中字符串用strcmp和==比较的问题
  18. Kafka集群的安全认证机构 SASL_SCRAM
  19. python反恐精英基础版_python反恐精英
  20. 工厂模式与建造者模式

热门文章

  1. Android流量统计TrafficStats类
  2. linux vim 字体大小,Linux学习—vim大全
  3. cmw500综合测试仪使用_宁波摆闸静电测试仪价格-老友网
  4. 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
  5. u-boot移植初步尝试-tiny4412
  6. linux视频学习6(mysql的安装/)
  7. 【转】头文件和库文件区别
  8. 动态绑定 dgvlist 列
  9. iPhone开发的一些小技巧
  10. 10、ctemplate文档,简记(3)