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

西安 网站建设企业自建网站营销

西安 网站建设,企业自建网站营销,现在哪个公司的网络比较好,怎样把自己做的网站上传到网上ThreadLocal底层原理和实现Demo每天一个面试题:ThreadLocal实现ThreadLocal的DemoThreadLocal底层原理为什么ThreadLocalMap的key设计为弱引用今天开始一个新专栏:每天一个面试题系列 也没有拿到令人心动的offer,看来自己学习方式和能力还是差…

ThreadLocal底层原理和实现Demo

  • 每天一个面试题:ThreadLocal
  • 实现ThreadLocal的Demo
  • ThreadLocal底层原理
  • 为什么ThreadLocalMap的key设计为弱引用

今天开始一个新专栏:每天一个面试题系列
也没有拿到令人心动的offer,看来自己学习方式和能力还是差很多,痛定思痛,改变自己的学习方式,辞去原有的后端实习,
开始全新的学习,沉淀才会有产出,一步一脚印!
面试题系列搞起来,这个专栏并非单纯的八股文,我会在技术底层的基础上,不至于Debug,还会做一些实例的实现,实现一些简单的Demo,或者用于我做过的项目中去;
代码会同步在我的gitee中去,觉得不错的同学记得一键三连求关注,感谢:
链接: ThreadLocal

每天一个面试题:ThreadLocal

在这里插入图片描述

  1. ThreadLocal表示线程的“局部变量”,它确保每个线程的ThreadLocal变量都是各自独立的;

  2. ThreadLocal适合在一个线程的处理流程中保持上下文(避免了同一参数在所有方法中传递);

  3. 使用ThreadLocal要用try … finally结构,并在finally中清除。

实现ThreadLocal的Demo

多个线程,我们希望每个线程内只连接到自己的数据库

public class DemoThreadLocal {public static void main(String[] args) {test();}private static void test() {for (int i = 0; i < 5; i++) {new Thread(()->{
//多个线程,我们希望每个线程内只连接到自己的数据库,这里的打印相当 各个用户 操作自己的数据库System.out.println(Utils.getConnection().toString());System.out.println(Utils.getConnection().toString());System.out.println(Utils.getConnection().toString());}, "i" + (i+1)).start();}}static class Utils{private static final  ThreadLocal<Connection> threadLocal = new ThreadLocal<Connection>();// 通过本地线程管理各自的数据库连接public static Connection getConnection(){Connection con = threadLocal.get();if (con==null) {con = getIn();threadLocal.set(con);}return con;}//配置数据库连接public static Connection getIn(){try {return DriverManager.getConnection("jdbc:mysql://localhost:3300/blog?useSSL=false","root","root");}catch (Exception e){throw new RuntimeException(e);}}}}

在这里插入图片描述

ThreadLocal底层原理

在这里插入图片描述

在这里插入图片描述

通过hash计算去计算资源对应的位置索引,进行存放

在这里插入图片描述

如果出现了Hash冲突:拉链法、其他算法

在这里插入图片描述

为什么ThreadLocalMap的key设计为弱引用

在这里插入图片描述
在这里插入图片描述

强引用无法被GC,所以使用ThreadLocal要用try … finally结构,并在finally中清除。

在这里插入图片描述

ThreadMap在get时,如果没有值,也会执行set (key,null)操作

在这里插入图片描述

三大情况

  • 发现key= null时

在这里插入图片描述

  • GC自动收回在这里插入图片描述
  • 手动remove

在这里插入图片描述


文章转载自:

http://2zefbduT.nqcts.cn
http://l8Nu4UAN.nqcts.cn
http://x8n6TI5g.nqcts.cn
http://8Cl1837i.nqcts.cn
http://DlKzj7Tc.nqcts.cn
http://vtvQKk23.nqcts.cn
http://YnhssgMB.nqcts.cn
http://XYjONtZc.nqcts.cn
http://ItGd1K3P.nqcts.cn
http://mrotBUSp.nqcts.cn
http://xWJ4W8iM.nqcts.cn
http://BP2Imlay.nqcts.cn
http://iFOZbVMn.nqcts.cn
http://Z1abzD0M.nqcts.cn
http://w25GJQqp.nqcts.cn
http://6ZWTBF9e.nqcts.cn
http://aK4u2XrI.nqcts.cn
http://Jz8TZsBr.nqcts.cn
http://TluMyauj.nqcts.cn
http://MP7DSl7s.nqcts.cn
http://9lSc5mZs.nqcts.cn
http://BR4imser.nqcts.cn
http://2jRFF6nj.nqcts.cn
http://MXaOow6R.nqcts.cn
http://WbT9e4YE.nqcts.cn
http://2rZK2xeF.nqcts.cn
http://ELgjbK2R.nqcts.cn
http://35B0Y94i.nqcts.cn
http://TpUhFHbs.nqcts.cn
http://ccmNsLoE.nqcts.cn
http://www.dtcms.com/wzjs/596701.html

相关文章:

  • 哪些网站做的好处和坏处无锡网站建设哪家做得比较好
  • 佛山网站建设 奇锐科技如何做淘宝的站外网站推广
  • 普通网站温州推广团队
  • 建设银行流水账网站查询wordpress语音插件
  • 公司做网站收费免费WAP建导航网站
  • 聊天网站建设巨量千川推广怎么收费
  • 设计网站大全国内南安市住房和城乡建设部网站
  • 网上有哪些网站做兼职网站建设 铭阳传媒
  • 不需要证件做网站教育网站建设方案模板
  • 安溪哪里有学做网站北京网站设计公司wyhseo
  • 邢台商城类网站建设搭建织梦网站视频教程
  • 企业网站托管备案宿舍管理系统
  • 公司网站建设方案设计东莞建设网站公司哪家好
  • 广州建立公司网站多少钱温州网站建设备案
  • 网站建设预算费用青岛seo青岛黑八网络最强
  • 外贸网站 站长工具提供网站设计方案公司
  • 网站建设对企业经营EDI许可证需要的网站怎么做
  • 站点与网站有什么区别cms网站怎么制作
  • 北京网站建设 云智互联安卓网站客户端制作
  • 沈阳设计网站淘宝代运营一般多少钱
  • 做一个外贸网站网站开发违约责任
  • 网站建设中gif长沙做网站比较好的公司
  • 龙华新区网站制作seo网站建设流程
  • 网站程序预装配置 tomcat 做网站
  • 彩票网站开发亿云网站引导页面设计
  • 广州网站建设的公司长沙电商网站建设
  • 廊坊做网站公司企业商城网站 .net
  • 成都易站网站建设图片wordpress源码
  • 做网站是先做后台还是前端介绍重庆网页设计
  • 广州响应式网站南平seo