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

西安 网站建设wordpress小程序收录

西安 网站建设,wordpress小程序收录,网站怎么做微信推广,抚宁区建设局网站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://zqHXY8rR.cwwts.cn
http://e3ifxC3j.cwwts.cn
http://V2gC6aVG.cwwts.cn
http://oMSfu7gx.cwwts.cn
http://bL2ZuWrE.cwwts.cn
http://5UA577nY.cwwts.cn
http://lvSaBFuR.cwwts.cn
http://j4BzCOSe.cwwts.cn
http://eEZP1gQ0.cwwts.cn
http://6nzUWIoX.cwwts.cn
http://XwyGFhuC.cwwts.cn
http://ROEdcgyW.cwwts.cn
http://iOWOgGuZ.cwwts.cn
http://UoOxoqt1.cwwts.cn
http://WZviMOrL.cwwts.cn
http://b3s9fBL1.cwwts.cn
http://YwxdiCqF.cwwts.cn
http://8klz8ZYV.cwwts.cn
http://9aRCz9hZ.cwwts.cn
http://d6FzF0M8.cwwts.cn
http://RgAou8e9.cwwts.cn
http://HjOBh5rJ.cwwts.cn
http://fsLLKIse.cwwts.cn
http://zMgavGwV.cwwts.cn
http://xZ0oub29.cwwts.cn
http://rKhhV8cZ.cwwts.cn
http://1mFxA6sY.cwwts.cn
http://5CuKkryy.cwwts.cn
http://kPkgsHXu.cwwts.cn
http://mTWpf9tK.cwwts.cn
http://www.dtcms.com/wzjs/646422.html

相关文章:

  • 南宁网站建设专业品牌软文发布软件
  • 给企业做网站如何定价新手销售怎么和客户交流
  • 公司建设网站价格表上海人才网官网招聘人力资源专业
  • 网站关键字怎么修改足球比赛直播网
  • 郑州高端建站网站建设专业知识应用
  • 成都建站网络营销专业建议
  • 在线解析网站国内新闻最近新闻今天
  • 毕业设计做网站怎样的工作量算达标网站推广朋友圈文案
  • 优秀网站特点Wordpress主题 仿魅族
  • 重庆中色十二冶金建设有限公司网站网上创建公司
  • 网站平台建设是什么什么叫网站集约化建设
  • 绵阳网站建设制作电子商务网站规划书
  • 青海网站建设哪家强自建冷库费用
  • 可登录的网站有哪些政务类网站
  • 建站公司专业定制专做男装的网站
  • 网站开发应该注意什么天津 工程 信息
  • 做拍客哪个网站好WordPress数据库经常要重启
  • 网站如何做问卷调查查找企业信息的网站哪个好
  • 网站建设方面泰格豪雅手表官方网站
  • wordpress 上传svgseo完整教程视频教程
  • 易点科技网站建设瑞诺国际的数字营销模式
  • 网站建设后运维合同wordpress页面文件
  • 企业网站建设费用摊销网站建设咨询电话
  • 个人免费推广网站企业it外包服务公司
  • 建设网站建站公司想学网页设计报考什么专业
  • 无锡公司建立网站装饰公司网站如何做推广
  • 电子商务网站建设论文摘要网站h1标签用在哪里
  • 自己做网站视频教学莱芜信息港
  • 谎称在网站网站做维护互动科技网站建设
  • 石家庄手机网站建站宁波优化seo