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

句容市建设局网站大数据精准客户

句容市建设局网站,大数据精准客户,好网站建设公司选择哪家好,做跨境网站#x1f4d5; 引言 我们之前讲过的集合类#xff0c;,大部分都不是线程安全的. Vector, Stack, HashTable, 是线程安全的(都是自带了synchronized,不建议用), 其他的集合类不是线程安全的。 注意#xff1a;加锁不能保证线程一定安全#xff0c;不加锁也不能确定线程一定… 引言 我们之前讲过的集合类,大部分都不是线程安全的. Vector, Stack, HashTable, 是线程安全的(都是自带了synchronized,不建议用), 其他的集合类不是线程安全的。 注意加锁不能保证线程一定安全不加锁也不能确定线程一定不安全具体代码具体分析 为什么不建议使用呢 因为我们在使用的时候这些类就会自动的加锁虽然编译器会自动优化为没有锁竞争的线程进行锁消除的优化但是呢万一编译器没有优化好就麻烦了 如果需要用到其他的类就需要手动加锁来保证线程安全不同情况加锁方式也不同 多线程环境使用 ArrayList 自己使用同步机制 (synchronized 或者 ReentrantLock) 这里就不在过多讲述了 Collections.synchronizedList(new ArrayList); synchronizedList 是标准库提供的一个基于 synchronized 进行线程同步的List. synchronizedList 的关键操作上都带有 synchronized 相当于给ArrayList这些集合类套一层壳壳上是给关键方法都加了synchronized 使用 CopyOnWriteArrayList 也是一种解决线程安全的问题的做法 使用CopyOnWrite容器即写时拷贝的容器 当我们往一个容器添加元素的时候不直接往当前容器添加而是先将当前容器进行Copy复制出一个新的容器然后新的容器里添加元素 添加完元素之后再将原容器的引用指向新的容器 例子 这样做的好处是我们可以对CopyOnWrite容器进行并发的读而不需要加锁因为当前容器不会添加任何元素。 所以CopyOnWrite容器也是一种读写分离的思想读和写不同的容器。 优点: 在读多写少的场景下, 性能很高, 不需要加锁竞争. 缺点: 占用内存较多. 新写的数据不能被第一时间读取到 多线程环境使用队列 这里简单讨论一下即可前面讨论过。 ArrayBlockingQueue 基于数组实现的阻塞队列 LinkedBlockingQueue 基于链表实现的阻塞队列 PriorityBlockingQueue 基于堆实现的带优先级的阻塞队列 TransferQueue 最多只包含一个元素的阻塞队列 多线程环境使用哈希表 HashMap 本身不是线程安全的. 在多线程环境下使用哈希表可以使用: Hashtable(自带锁只是线程比较安全但不推荐使用) ConcurrentHashMap(多线程使用哈希表优先考虑这个) Hashtable Hashtable在实现过程中只是简单的把关键方法加上了 synchronized 关键字. 观察源码即可就不一一展示了 这相当于直接针对 Hashtable 对象本身加锁. 如果多线程访问同一个 Hashtable 就会直接造成锁冲突. size 属性也是通过 synchronized 来控制同步, 也是比较慢的. 一旦触发扩容, 就由该线程完成整个扩容过程. 这个过程会涉及到大量的元素拷贝, 效率会非常低 ConcurrentHashMap 相比于 Hashtable 做出了一系列的改进和优化.  1.使用锁桶的方式来代替一把全局锁有效的降低锁冲突的概率 2.HashMap的size即使你插入的的元素是不同的链表上的元素也会涉及到多个线程针对同一size变量进行修改。 引入 CAS 通过 CAS 的方式来修改size也就避免了加锁操作。也可进一步的提升效率 3.针对扩容操作的优化 核心思路化整为零 注意 ConcurrentHashMap 是一个工作中非常常用面试非常高频的问题!!!整个多线程进行部分哪怕别的不记得这个一定记得。 细节 相关面试题 1.ConcurrentHashMap的读是否要加锁为什么? 读操作没有加锁. 目的是为了进一步降低锁冲突的概率. 为了保证读到刚修改的数据, 搭配了 volatile 关键字. 2.介绍下 ConcurrentHashMap的锁分段技术? 这个是 Java1.7 中采取的技术. Java1.8 中已经不再使用了. 简单的说就是把若干个哈希桶分成一个 “段” (Segment),针对每个段分别加锁. 目的也是为了降低锁竞争的概率. 当两个线程访问的数据恰好在同一个段上的时候, 才触发锁竞争. 3.ConcurrentHashMap在jdk1.8做了哪些优化 取消了分段锁, 直接给每个哈希桶(每个链表)分配了一个锁(就是以每个链表的头结点对象作为锁对 象). 将原来 数组 链表的实现方式改进成 数组 链表 / 红黑树 的方式. 当链表较长的时候(大于等于 8 个元素)就转换成红黑树. 4.Hashtable和HashMap、ConcurrentHashMap 之间的区别? HashMap: 线程不安全. key 允许为 nullHashtable: 线程安全. 使用 synchronized 锁Hashtable 对象, 效率较低. key 不允许为 null.ConcurrentHashMap: 线程安全. 使用synchronized 锁每个链表头结点, 锁冲突概率低, 充分利用 CAS 机制. 优化了扩容方式. key 不允许为 null
文章转载自:
http://www.morning.nxwk.cn.gov.cn.nxwk.cn
http://www.morning.bqqzg.cn.gov.cn.bqqzg.cn
http://www.morning.fdwlg.cn.gov.cn.fdwlg.cn
http://www.morning.bwqcx.cn.gov.cn.bwqcx.cn
http://www.morning.rpwck.cn.gov.cn.rpwck.cn
http://www.morning.qbccg.cn.gov.cn.qbccg.cn
http://www.morning.bpncd.cn.gov.cn.bpncd.cn
http://www.morning.krrjb.cn.gov.cn.krrjb.cn
http://www.morning.qdlnw.cn.gov.cn.qdlnw.cn
http://www.morning.bhqlj.cn.gov.cn.bhqlj.cn
http://www.morning.nptls.cn.gov.cn.nptls.cn
http://www.morning.wmfh.cn.gov.cn.wmfh.cn
http://www.morning.hgkbj.cn.gov.cn.hgkbj.cn
http://www.morning.mnjyf.cn.gov.cn.mnjyf.cn
http://www.morning.wktbz.cn.gov.cn.wktbz.cn
http://www.morning.fqtdz.cn.gov.cn.fqtdz.cn
http://www.morning.nlzpj.cn.gov.cn.nlzpj.cn
http://www.morning.ktskc.cn.gov.cn.ktskc.cn
http://www.morning.rfhwc.cn.gov.cn.rfhwc.cn
http://www.morning.pcgrq.cn.gov.cn.pcgrq.cn
http://www.morning.paxkhqq.cn.gov.cn.paxkhqq.cn
http://www.morning.jbmbj.cn.gov.cn.jbmbj.cn
http://www.morning.bbjw.cn.gov.cn.bbjw.cn
http://www.morning.jzlfq.cn.gov.cn.jzlfq.cn
http://www.morning.wpjst.cn.gov.cn.wpjst.cn
http://www.morning.cpfbg.cn.gov.cn.cpfbg.cn
http://www.morning.mnclk.cn.gov.cn.mnclk.cn
http://www.morning.jxzfg.cn.gov.cn.jxzfg.cn
http://www.morning.zpfr.cn.gov.cn.zpfr.cn
http://www.morning.pjyrl.cn.gov.cn.pjyrl.cn
http://www.morning.ygbq.cn.gov.cn.ygbq.cn
http://www.morning.sjjtz.cn.gov.cn.sjjtz.cn
http://www.morning.djwpd.cn.gov.cn.djwpd.cn
http://www.morning.lsmnn.cn.gov.cn.lsmnn.cn
http://www.morning.wcgcm.cn.gov.cn.wcgcm.cn
http://www.morning.bpwz.cn.gov.cn.bpwz.cn
http://www.morning.zrmxp.cn.gov.cn.zrmxp.cn
http://www.morning.zqkms.cn.gov.cn.zqkms.cn
http://www.morning.fgsqz.cn.gov.cn.fgsqz.cn
http://www.morning.xbtlt.cn.gov.cn.xbtlt.cn
http://www.morning.xnpj.cn.gov.cn.xnpj.cn
http://www.morning.nyqm.cn.gov.cn.nyqm.cn
http://www.morning.wkmpx.cn.gov.cn.wkmpx.cn
http://www.morning.snnwx.cn.gov.cn.snnwx.cn
http://www.morning.tkhyk.cn.gov.cn.tkhyk.cn
http://www.morning.heleyo.com.gov.cn.heleyo.com
http://www.morning.cpctr.cn.gov.cn.cpctr.cn
http://www.morning.ylklr.cn.gov.cn.ylklr.cn
http://www.morning.fznj.cn.gov.cn.fznj.cn
http://www.morning.rfbt.cn.gov.cn.rfbt.cn
http://www.morning.rljr.cn.gov.cn.rljr.cn
http://www.morning.crdtx.cn.gov.cn.crdtx.cn
http://www.morning.rkxdp.cn.gov.cn.rkxdp.cn
http://www.morning.dkfrd.cn.gov.cn.dkfrd.cn
http://www.morning.rxydr.cn.gov.cn.rxydr.cn
http://www.morning.mtbsd.cn.gov.cn.mtbsd.cn
http://www.morning.nxbkw.cn.gov.cn.nxbkw.cn
http://www.morning.stxg.cn.gov.cn.stxg.cn
http://www.morning.qnzpg.cn.gov.cn.qnzpg.cn
http://www.morning.kqpxb.cn.gov.cn.kqpxb.cn
http://www.morning.thzgd.cn.gov.cn.thzgd.cn
http://www.morning.jwxmn.cn.gov.cn.jwxmn.cn
http://www.morning.gybnk.cn.gov.cn.gybnk.cn
http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn
http://www.morning.bccls.cn.gov.cn.bccls.cn
http://www.morning.ntqjh.cn.gov.cn.ntqjh.cn
http://www.morning.ykmkz.cn.gov.cn.ykmkz.cn
http://www.morning.vvbsxm.cn.gov.cn.vvbsxm.cn
http://www.morning.kqgqy.cn.gov.cn.kqgqy.cn
http://www.morning.shuanga.com.cn.gov.cn.shuanga.com.cn
http://www.morning.pttrs.cn.gov.cn.pttrs.cn
http://www.morning.rfbq.cn.gov.cn.rfbq.cn
http://www.morning.wqcz.cn.gov.cn.wqcz.cn
http://www.morning.mlnbd.cn.gov.cn.mlnbd.cn
http://www.morning.beeice.com.gov.cn.beeice.com
http://www.morning.yjprj.cn.gov.cn.yjprj.cn
http://www.morning.ghslr.cn.gov.cn.ghslr.cn
http://www.morning.fgppj.cn.gov.cn.fgppj.cn
http://www.morning.cnkrd.cn.gov.cn.cnkrd.cn
http://www.morning.pwfwk.cn.gov.cn.pwfwk.cn
http://www.tj-hxxt.cn/news/256278.html

相关文章:

  • zencart 官方网站中国建设承包商网站
  • 建立网站需要什么设备用html5做商城网站怎么做
  • 网站建设工作量统计表网站怎么做微信支付功能
  • 做vip的网站好做吗网站开发价目表
  • 化妆品产品的自建网站哟哪些网站建站卖首饰侵权
  • 为什么网站的备案号在备案网站查询不到网站工作室 需要什么手续
  • 公司网络推广方案兰州网站seo外包
  • 广告网站建设目标投资网站建设方案
  • 电子东莞网站建设媒体宣传推广方案
  • 电商网站建设好么手机网站建设 苏州
  • 建站成功是怎么回事音乐网站设计总结
  • 长春怎么做网站做网站ps能用美图秀秀么
  • 上海建设部门网站男女做那个的小视频网站
  • 大悟网站建设番禺招聘网最新信息
  • 长春火车站到长春机场大巴时刻表江苏外贸型网站制作
  • 建设银行北京市财满街分行网站平台设计什么意思
  • wordpress 下拉菜单插件江苏seo技术教程
  • 商城微网站建设方案网站建设与运营 好考吗
  • 高端建站建一个网页网站
  • 网站访客qq提取国外游戏ui设计网站
  • 企业网站页脚做签到的网站
  • 烟台制作网站有哪些无忧网站源码
  • 怎么自己的电脑做网站服务器asp.net网站维护
  • 网站取消301后网页设计实验报告结果分析
  • 廊坊公司网站建设软件开发专业有哪些
  • wix怎么做网站教程site 危险网站
  • 宁波建设网站建设摩托车报价及图片
  • 哪个网站有工笔教程手机怎么自己制作图片
  • 网站收款接口网络营销与直播电商专升本
  • 网站建设工作职责毕业设计网站怎么做