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

学做面包到什么网站前端做网站之后的感想总结

学做面包到什么网站,前端做网站之后的感想总结,网站建设及维护服务技术指标,公司黄页查询ThreadLocal 什么是ThreadLocal? ThreadLocal 是线程本地变量类,在多线程并行执行过程中,将变量存储在ThreadLocal中,每个线程中都有独立的变量,因此不会出现线程安全问题。 应用举例 解决线程安全问题:例…

ThreadLocal

  1. 什么是ThreadLocal?
    ThreadLocal 是线程本地变量类,在多线程并行执行过程中,将变量存储在ThreadLocal中,每个线程中都有独立的变量,因此不会出现线程安全问题。

  2. 应用举例
    解决线程安全问题:例如每个线程都绑定一个数据库连接,避免多个线程访问同一个数据库连接:SqlSession
    跨函数参数传递:同一个线程,跨类,跨方法传递参数的时候可以使用ThreadLocal,每个线程绑定一个Token/Session

  3. 关于ThreadLocal
    1)一个线程只能有一个ThreadLocal吗?
    首先我们看到Thread里面,有一个ThreadLocalMap,可以看到再java1.8之后,每个线程都有自己的ThreadLocalMap
    在这里插入图片描述
    而这个ThreadLocalMap 里面可以明显的看到是一个数组用于存储多个Entry
    在这里插入图片描述
    我们看ThreadLocal的源码可以发现最终是调用ThreadLocalMap里面的方法:
    在这里插入图片描述
    createMap方法:
    在这里插入图片描述
    ThreadLocalMap里面的set方法:
    在这里插入图片描述
    关于ThreadLocalMap的哈希探测可以参考此文
    这篇文章写的非常的详细,更多的展示了源码的细节

  1. Entry 的 Key 为什么需要使用弱引用?如果是强引用会造成什么问题?
    因为弱引用在GC回收时会被回收,如果使用强引用,我们某个方法里面创建了一个ThreadLocal,我们肯定使用了new关键字,这个时候是强引用,如果这个方法结束,对于这个方法的引用应该解除并且回收掉,如果我们Entry里面使用强引用就会造成内存泄漏,这个已经ThreadLocal已经用不到了,但是由于key是强引用导致始终无法被回收掉。这样的话有资源一直回收不掉,堆积后最终就会OOM内存溢出。
  1. 使用案例(持续补充)
    1)传递共享参数
@Setter
public class DemoTask {private ThreadLocal threadLocal;public void execute() {// 对threadLoca的变量进行操作,只要是同一个ThreadLocal 一定是相同的值System.out.println(JSONUtil.toJsonStr(threadLocal.get()));}
}
public class ThreadLocalDemo {static ThreadLocal<Map<String, Object>> threadLocal = new ThreadLocal();public void init() {threadLocal.set(new HashMap<String,Object>(){{put(  "k1", 1);put( "k2", "v");}});}public void passParms() {DemoTask demoTask = new DemoTask();demoTask.setThreadLocal(threadLocal);demoTask.execute();System.out.println(JSONUtil.toJsonStr(threadLocal.get()));}public static void main(String[] args) {ThreadLocalDemo threadDemo = new ThreadLocalDemo();threadDemo.init();threadDemo.passParms();}
}
http://www.yayakq.cn/news/497214/

相关文章:

  • 网站建设公司现在还挣钱吗网页模板是什么
  • 中美网站建设差异做网站显示不同字体
  • 写网站编程需要什么微信网站的结构
  • 杭州培训网站建设网站备案中心
  • 有哪些网站代做包装毕设郑州代做网站
  • 茶叶市场网站建设方案亚马逊官网首页中国
  • 企业标准型手机网站成都市郫都区
  • 成都打鱼网站建设手机集团网站建设
  • 网站标题怎么做攀枝花seo
  • 建个可以注册会员网站多少钱绿色在线网站模板下载
  • h5 做的网站 价格社区子网站群建设
  • 长沙seo公司网站优化阜城县网站建设
  • 网站备案查询姓名php个人网站源码带音乐
  • 告诉搜索引擎网站建设中民宿设计公司
  • 秦皇岛优化网站排名美好乡村建设网站
  • 安卓网站开发视频建e网是干嘛的
  • 网页设计灵感网站网站ftp根目录
  • 建一个网站容易吗邮箱格式
  • 网站开发都需要什么网站源码站
  • 网站搜索优化排名提升学历是什么意思
  • 网站开发什么语言最好游戏网站建设与策划
  • 丘受网站谁做的网球吧304hk 爱站网
  • 建设网站的需求分析报告2016年网站建设方案ppt
  • 在运营中seo是什么意思搜索引擎营销优化
  • 网站服务器速度慢WordPress在线转义
  • 网站首页建设建议天津网站免费制作
  • 南宁网站建设公司企业门户网站建设方案
  • 太原网站建设搭建小城镇建设网站参考文献
  • ps 怎么做网站隆尧建设局网站
  • 梁山网站建设襄阳seo招聘