ThreadLocal模式的一点小理解
垃圾回收:
在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模式的一点小理解相关推荐
- 主仆模式的一点小理解
主从模式根据名字来说就知道,拥有一主一从.对他的操作就有主有次.这种模式主要有两部分组成,主设备和从设备.主设备组件在相同的设备组件中分配工作,并计算最终结果,而这些结果是以后从设备返回的. 主从模式 ...
- Layui的一点小理解(上)
首先声明这是个人的一点理解,如有不对之处请指正,以下的例子有在官网上看到的,有的是自己写的.还是老规矩最后会附上官网的,如有不明白之处,请查看文档或留言. 既然说Layui,当然要简单的介绍以下什么是 ...
- 硬核,学习 Java 的一点小建议(思维导图,建议收藏)!
CSDN 收到一条读者的私信,情真意切,所以我承诺他今天一定写篇文章好好回复他一下.先来看一下他的私信内容吧. 首先映入我的眼帘的是这个称呼--"老前辈",我一下子没忍住,笑了! ...
- STM32F4单片机读取光电编码器的小理解
STM32F4单片机读取光电编码器的小理解 大家好! 我是木兔同学,这是我第一次发CSDN的博客,本人接触的单片机主要是STM32f407,今天谈一谈STM32F4单片机读取光电编码器的小理解,希望大 ...
- 考研英语十附双语阅读:按点下班惹非议?一点小花招让你看起来超努力(纯阅读,有些方法不普适)
按点下班惹非议?一点小花招让你看起来超努力 总的来说,早退远比迟到难看得多,所以你不妨经常十一二点再上班,然后工作到晚上8点,这样每个人都会误以为你回到每天工作11小时的模式上了. 想给老板和同事留下 ...
- AngularJS』一点小小的理解
『AngularJS』一点小小的理解 AngularJS 是一个前端的以Javascript为主的MVC框架.与AngularJS相类似的还有EmberJS. 随着时代在进步,各种各样的开发理念与开发 ...
- 作为面试官的一点小感想
这两天公司要招大数据开发的人,让我去面试这些应聘者,几天下来面试的人也有10多个人了,这其中有应届生.刚工作不久的以及有一定年限的,学历有本科和研究生等.通过和这些人交谈后,心里也有一点小感触和小想法 ...
- 函数的傅立叶展开掐死我吧_关于文章《傅里叶分析之掐死教程》的再一点小思考...
封火星:关于文章<傅里叶分析之掐死教程>的一点小思考zhuanlan.zhihu.com 以前的文章,从原理上更好的理解了原文中的一点,不过因为公式不是完全一样,从而有一个新问题不能解决 ...
- 局部二值模式LBP的详细理解
局部二值模式LBP的噶几详细的理解 一个电脑小白的自我成长之路,总是这么的寂寞.孤独.无聊,却充满新奇.艰难,唯有坚韧不拔,持续奋斗,才可披荆斩棘.登临云端.各位看官们:"咋的,能不能上干货 ...
最新文章
- Java枚举类使用和总结
- 对象存储使用案例_杉岩MOS海量对象存储中标福建移动
- Java内存模型与happens-before原则
- Typeface 字体样式
- 自学Android!Android高级工程师面试题-字节跳动,附答案
- ASH的适用场景和常见用法(附2个经典案例)
- TensorFlow基础笔记(13) tf.name_scope tf.variable_scope学习
- 如何用python做一个时钟_Python使用turtle库制作一个时钟
- java无法远程读写HDFS系统解决方案
- 局域网IPC入侵心得
- win10 计算机 搜索文件,如何在win10搜索指定文件_教你在win10搜索指定文件的方法...
- 《基于微信小程序的美食推荐系统》硕士论文
- eos 测试网搭建,单节点,并使用命令行完成系统合约部署、账户创建、资产转账
- SpringBoot整合Apollo配置中心快速使用
- 2018年7月24日日报
- 打开CHM文件内部中文乱码问题的解决
- C语言中字符串用strcmp和==比较的问题
- Kafka集群的安全认证机构 SASL_SCRAM
- python反恐精英基础版_python反恐精英
- 工厂模式与建造者模式