首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
ThreadLocal
时间:
2019-01-19 14:26:38
阅读:
246
评论:
0
收藏:
0
[点我收藏+]
标签:
垃圾回收
oca
上下文
类构造
设计
故障
str
范围
node
引用类型
强引用StrongReference
最长使用
软引用SoftReference
在即将OOM之前,垃圾回收器会把这些软引用指向的对象加入回收范围
一般可用于同一台服务器内缓存低频访问的中间结果
弱引用WeakReference
下一次YGC时会被回收
虚引用PlantomReference
定义完成后,就无法通过该引用获取指向的对象
唯一目的是希望在垃圾回收时收到一个系统通知
几乎很难用到
由于过度设计,成为故障高发点
内存泄露
脏数据
共享对象更新
每个线程都有一个独立的变量副本,其他线程不能访问
无法解决共享对象的更新问题
有什么作用?
传递线程内变量
通常用于同一个线程内,跨类、跨方法传递数据。如果没有他,势必要靠返回值和参数。
解决父子线程之间共享线程变量问题
使用ThreadLocal和InheritableThreadLocal
通过将Thread类构造方法的最后一个参数设置为true,可以把当前线程的变量继续往下传递给它创建的子线程。
淘宝使用这种方式透传全局上下文,如存储监控系统的某个标记位traceId,如果参数未设置为true,则子线程里获取的traceId为null
ThreadLocal
标签:
垃圾回收
oca
上下文
类构造
设计
故障
str
范围
node
原文地址:https://www.cnblogs.com/bee4j/p/10291481.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!