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

酒店网站模版北京网站设计制作哪个公司好

酒店网站模版,北京网站设计制作哪个公司好,网站开发yuanmus,更改WordPress注册页面ThreadLocal 是 Java 中实现线程封闭(Thread Confinement)的核心机制,它通过为每个线程创建变量的独立副本来解决多线程环境下的线程安全问题。 Thread └── ThreadLocalMap (threadLocals) // 每个线程持有的专属Map├── Entry[] tab…

ThreadLocal 是 Java 中实现线程封闭(Thread Confinement)的核心机制,它通过为每个线程创建变量的独立副本来解决多线程环境下的线程安全问题。 

Thread
└── ThreadLocalMap (threadLocals)  // 每个线程持有的专属Map├── Entry[] table              // 哈希表结构│   └── Entry extends WeakReference<ThreadLocal<?>>│       ├── ThreadLocal<?> key  // 弱引用Key│       └── Object value       // 强引用Value└── 其他HashMap类似字段

threadlocal里的数据是怎么存储的?

每个线程内部有一个专属、私有的ThreadLocalMap(就是一个hashMap,底层用Entry数组存数据)

value:要保存的资源

调用set方法时,就是以当前ThreadLocal对象为key,以资源为value,放到ThreadLocalMap中

调用get方法时,就是以当前ThreadLocal对象为key,从ThreadLocalMap中取value

开发中一般把ThreadLocal声明为static,这样ThreadLocal对象是线程共享的,那key都共享了,不同线程取出来的value不就是同一个吗?

并不是。ThreadLocalMap是每个线程私有的

[正确模型]
static ThreadLocal实例(作为Key)
├── 线程1的ThreadLocalMap: Entry(Key=ThreadLocal实例 → ValueA)
├── 线程2的ThreadLocalMap: Entry(Key=ThreadLocal实例 → ValueB)
└── 线程3的ThreadLocalMap: Entry(Key=ThreadLocal实例 → ValueC)

为什么key是弱应用?

要避免key的内存泄露问题

情况1:new Thread()的情况,用完正常销毁,那么ThreadLocalMap会被GC正常回收,不会出现内存泄露。

情况2:使用线程池结合ThreadLocal的情况(这个使用更常见,不需要频繁创建,可以复用),线程池中的线程不会销毁会一致复用。

弱引用Key,GC时ThreadLocal无强引用,回收Key防止Map持续增长

key只有弱引用时,只要发生了垃圾回收,ThreadLocalMap就会回收,避免内存泄露问题


ThreadLocalMap中如何清理大量为null的数据 ?

在调用set、get、remove方法时,就会遍历数组,清除为null的entry,然后通过线性探测重新处理hash冲突

为什么value是强引用?

将数据存到value中,是为了要用它,如果不是强引用,就会被GC回收

那value怎么回收呢?

不回收会导致内存泄露

所以,在使用完ThreadLocal后必须断开强引用,即调用remove方法手动断开强引用,让gc把它回收了


文章转载自:

http://jlROsupT.phLwj.cn
http://GNMLznr9.phLwj.cn
http://IVWh0w3h.phLwj.cn
http://9QSLj0W5.phLwj.cn
http://Tq4cojtT.phLwj.cn
http://NS4lPUMS.phLwj.cn
http://yWx8h6IZ.phLwj.cn
http://7C3W10P9.phLwj.cn
http://wPuYvVzQ.phLwj.cn
http://RRlU3ft7.phLwj.cn
http://CSHvDvjl.phLwj.cn
http://UT6pjloR.phLwj.cn
http://CqOLKgHf.phLwj.cn
http://TTlI9xxb.phLwj.cn
http://x9TGtTBx.phLwj.cn
http://lGohTqOP.phLwj.cn
http://OzdSDEa9.phLwj.cn
http://1FpX7N9H.phLwj.cn
http://Z0Un2qFg.phLwj.cn
http://zPbMKmJB.phLwj.cn
http://RlJ94UZL.phLwj.cn
http://piHhQSKw.phLwj.cn
http://cqOGgZue.phLwj.cn
http://8dSTWpS8.phLwj.cn
http://ef0RPRhQ.phLwj.cn
http://PahoyUzw.phLwj.cn
http://NVhZAwHq.phLwj.cn
http://ebVFVZDJ.phLwj.cn
http://ntwulc0d.phLwj.cn
http://VVqpx2my.phLwj.cn
http://www.dtcms.com/wzjs/657698.html

相关文章:

  • 门户网站建设单位资质要求上海大型网站制作公
  • 在百度上怎么搜到自己的网站怎么给网站做php后台
  • 网站建设营销推广实训总结郑州官网网络营销外包
  • 国家和住房城乡建设部网站首页医院网站建设价值和意义
  • 自己学习建设网站h5移动端网站模板
  • 自己做的网站谁来维护wordpress通用主题
  • 官方网站下载6966中国网站模板免费下载
  • 找人做app网站网站怎么自己做优化
  • 企业建设网站个人总结惠州网络推广哪里找
  • 网站添加视频wordpress如何做产品页
  • 2023网络舆情案例分析谷歌官方seo入门指南
  • 江西网站开发费用网站被模仿怎么办
  • 建设网站的命令傻瓜式app制作
  • 娄底公司网站建设网站制作网站搭建
  • 平面设计常用网站系统重装没有wordpress
  • 网站建设五行团建网站建设
  • 山西做杂粮的网站绵阳做网站
  • 公司网站维护由那个部门做外贸公司网站开发步骤
  • 做网站还是移动开发wordpress图片后加载很慢
  • 建网站怎么搭建自己的服务器怎么样注册一个网站
  • 合肥网站建设推荐 晨飞网络商户网站建设
  • 网站模板安装建设工程信息查询哪个网站好
  • 建设网站有几种渠道网站域名备案和做网站
  • 响应式网站模板dede用 net做网站
  • 做电子政务网站宝宝发烧反反复复什么原因导致的
  • 中国男女直接做的视频网站温州百度推广公司
  • 公众号涨粉深圳市seo上词多少钱
  • 最专业的微网站开发九江学网站建设
  • 北京网站设计公司wx成都柚米科技15个人网站要不要备案
  • 只做传统嫁衣网站wordpress 国内 优化