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

网站编辑制作wordpress 微博链接

网站编辑制作,wordpress 微博链接,假网站怎么做,沈阳网站制作列表网目录 什么是ConcurrentHashMap#xff1f;为什么有ConcurrentHashMap#xff1f;和HashMap区别示例代码对比 JDK7和JDK8中ConcurrentHashMap整体架构的区别JDK7中JDK8中 ConcurrentHashMap的基本功能在性能方面的优化使用到的技术-CAS概念说明比较并交换的过程如下#xff1… 目录 什么是ConcurrentHashMap为什么有ConcurrentHashMap和HashMap区别示例代码对比 JDK7和JDK8中ConcurrentHashMap整体架构的区别JDK7中JDK8中 ConcurrentHashMap的基本功能在性能方面的优化使用到的技术-CAS概念说明比较并交换的过程如下举例说明底层原理代码演示 总结 什么是ConcurrentHashMap ConcurrentHashMapConcurrent并存的同时发生的     ConcurrentHashMap是Java中的一个线程安全的哈希表实现它可以在多线程环境下高效地进行并发操作。 为什么有ConcurrentHashMap HashMap线程不安全在多线程操作下可能会导致数据错乱 和HashMap区别 示例代码对比 使用HashMap和ConcurrentHashMap分别实现以下需求。         用30个线程向实例化出的map中插入keyvalue。每一次插入后把map打印出来for循环中sout         key为for循环中的i值         value使用UUID public class HashMapUnsafeTest {public static void main(String[] args) throws InterruptedException {//演示HashMapMapString, String map new HashMap();for (int i 0; i 30; i) {String key String.valueOf(i);new Thread(() - {//向集合添加内容map.put(key, UUID.randomUUID().toString().substring(0, 8));//从集合中获取内容System.out.println(map);}, ).start();}} }public class ConcurrentHashMapSafe {public static void main(String[] args) throws InterruptedException {//演示ConcurrentHashMapMapString, String map new ConcurrentHashMap();for (int i 0; i 30; i) {String key String.valueOf(i);new Thread(() - {//向集合添加内容map.put(key, UUID.randomUUID().toString().substring(0, 8));//从集合中获取内容System.out.println(map);}, ).start();}} }多个线程同时对同一个集合进行增删操作导致错误 JDK7和JDK8中ConcurrentHashMap整体架构的区别 JDK7中 JDK8中 使用到的数据结构数组、单向链表、红黑树 其中涉及到几个核心的参数 // 最大容量2^30 private static final int MAXIMUM_CAPACITY 1 30; // 默认长度 private static final int DEFAULT_CAPACITY 16;//遗留问题为什么树化条件是8而取消树化条件却是6呢 // 链表树化条件-是根据线程竞争情况和红黑树的操作成本进行设计的。 static final int TREEIFY_THRESHOLD 8; // 取消树化条件-为了避免过度的树化防止内存占用过高。 static final int UNTREEIFY_THRESHOLD 6; //链表结构中每个节点只需要存储指向下一个节点的指针而不需要存储节点的值。因此链表只需要存储节点的引用占用较少的内存空间。树结构中每个节点需要存储节点的值以及指向子节点的指针。核心为Hash表存在Hash冲突问题     使用链式存储方式解决冲突冲突较多时导致链表过长查询效率较低在JDK1.8中引入红黑树机制     当数组长度大于64且链表长度大于等于8时单项链表转为红黑树     当链表长度小于6时红黑树会退化为单向链表 ConcurrentHashMap的基本功能 本质上是一个HashMap功能和HashMap是一样的     但ConcurrentHashMap在HashMap基础上提供了并发安全的实现主要通过对node节点加锁实现来保证对数据更新的安全性 锁粒度变小 在性能方面的优化 在JDK1.8中锁的粒度是数组中的某一个节点在JDK1.7中锁定的是一个Segment锁的范围更大     保证线程安全机制         JDK7采用segment的分段锁机制实现线程安全其中segment继承自ReentrantLock。         JDK8采用CAS(读)Synchronized(写)保证线程安全。 锁的粒度原来是对需要进行数据操作的Segment加锁JDK8调整为对每个数组元素加锁Node。 链表转化为红黑树定位结点的hash算法简化会带来弊端Hash冲突加剧因此在链表节点数量大于8时会将链表转化为红黑树进行存储。 使用到的技术-CAS 概念说明 CAS的全称是比较并交换Compare And Swap。在CAS中有这样三个值     V要更新的变量(var)     E预期值(expected)     N新值(new) 比较并交换的过程如下 判断V是否等于E如果等于将V的值设置为N如果不等说明已经有其它线程更新了V则当前线程放弃更新什么都不做。 举例说明 如果有一个多个线程共享的变量i原本等于5我现在在线程A中想把它设置为新的值6; 我们使用CAS来做这个事情     首先我们用i去与5对比发现它等于5说明没有被其它线程改过那我就把它设置为新的值6此次CAS成功i的值被设置成了6     如果不等于5说明i被其它线程改过了比如现在i的值为2那么我就什么也不做此次CAS失败i的值仍然为2。 底层原理 unsafe类——以下是类中涉及到的三个方法用来实现CAS效果的这三个方法都是由native进行修饰的。具体的实现是由C写的。 代码演示 没有使用CAS的代码 package com.example.threadpool.CAS;public class NoCASDemo {private static int counter 0;public static void main(String[] args) throws InterruptedException {//线程一Thread thread1 new Thread(() - {for (int i0; i10000;i){counter;}});//线程二Thread thread2 new Thread(() - {for (int i0; i10000;i){counter;}});//执行线程thread1.start();thread2.start();//等待执行完线程1和2thread1.join();thread2.join();System.out.println(查看counter的总数counter);}}使用CAS的代码 package com.example.threadpool.CAS;import java.util.concurrent.atomic.AtomicInteger;public class CASDemo {private static AtomicInteger counter new AtomicInteger(0);public static void main(String[] args) throws InterruptedException {//线程一Thread thread1 new Thread(() - {for (int i0; i10000;i){increment();}});//线程二Thread thread2 new Thread(() - {for (int i0; i10000;i){increment();}});//执行线程thread1.start();thread2.start();//等待执行完线程1和2thread1.join();thread2.join();System.out.println(查看counter的总数counter.get());}public static void increment() {int currentValue;int newValue;do {//获取counter对象的value值currentValue counter.get();//将counter对象的value值加1newValue currentValue 1;} while (!counter.compareAndSet(currentValue, newValue));}}总结 总的来说ConcurrentHashMap是Java中线程安全的哈希表实现它通过使用锁分段技术来提供高效的并发性能。相比于HashtableConcurrentHashMap在多线程环境下能够更好地支持高并发读写操作。 使用ConcurrentHashMap可以在多线程环境下安全地进行数据操作而无需手动加锁。它通过将整个数据结构分成多个段来实现并发性能的提升不同的线程可以同时访问不同的段从而减少了线程之间的竞争。 ConcurrentHashMap的设计考虑了线程安全和性能的平衡。它提供了一些有用的方法如putIfAbsent()、replace()等可以方便地进行原子性的操作。此外ConcurrentHashMap还支持遍历操作可以通过迭代器安全地遍历其中的元素。 需要注意的是虽然ConcurrentHashMap是线程安全的但并不保证对于单个操作的原子性。如果需要进行复合操作仍然需要额外的同步措施。 总的来说ConcurrentHashMap是一个强大的线程安全的哈希表实现适用于多线程环境下的高并发读写操作。它提供了高效的并发性能可以提升系统的吞吐量和响应速度。
文章转载自:
http://www.morning.yqrgq.cn.gov.cn.yqrgq.cn
http://www.morning.bby45.cn.gov.cn.bby45.cn
http://www.morning.twgzq.cn.gov.cn.twgzq.cn
http://www.morning.xpzkr.cn.gov.cn.xpzkr.cn
http://www.morning.htpjl.cn.gov.cn.htpjl.cn
http://www.morning.ltkms.cn.gov.cn.ltkms.cn
http://www.morning.c7512.cn.gov.cn.c7512.cn
http://www.morning.gtqws.cn.gov.cn.gtqws.cn
http://www.morning.gkgb.cn.gov.cn.gkgb.cn
http://www.morning.pswqx.cn.gov.cn.pswqx.cn
http://www.morning.kphsp.cn.gov.cn.kphsp.cn
http://www.morning.bqmsm.cn.gov.cn.bqmsm.cn
http://www.morning.jrslj.cn.gov.cn.jrslj.cn
http://www.morning.wsyq.cn.gov.cn.wsyq.cn
http://www.morning.qsy37.cn.gov.cn.qsy37.cn
http://www.morning.jrplk.cn.gov.cn.jrplk.cn
http://www.morning.wdqhg.cn.gov.cn.wdqhg.cn
http://www.morning.lltdf.cn.gov.cn.lltdf.cn
http://www.morning.rtjhw.cn.gov.cn.rtjhw.cn
http://www.morning.pyncm.cn.gov.cn.pyncm.cn
http://www.morning.jxhlx.cn.gov.cn.jxhlx.cn
http://www.morning.wnrcj.cn.gov.cn.wnrcj.cn
http://www.morning.jzxqj.cn.gov.cn.jzxqj.cn
http://www.morning.wjpsn.cn.gov.cn.wjpsn.cn
http://www.morning.kqpq.cn.gov.cn.kqpq.cn
http://www.morning.xgjhy.cn.gov.cn.xgjhy.cn
http://www.morning.jrrqs.cn.gov.cn.jrrqs.cn
http://www.morning.tzcr.cn.gov.cn.tzcr.cn
http://www.morning.clbzy.cn.gov.cn.clbzy.cn
http://www.morning.gfprf.cn.gov.cn.gfprf.cn
http://www.morning.gzzncl.cn.gov.cn.gzzncl.cn
http://www.morning.ybhrb.cn.gov.cn.ybhrb.cn
http://www.morning.smyxl.cn.gov.cn.smyxl.cn
http://www.morning.tfzjl.cn.gov.cn.tfzjl.cn
http://www.morning.tldhq.cn.gov.cn.tldhq.cn
http://www.morning.tfgkq.cn.gov.cn.tfgkq.cn
http://www.morning.bhwz.cn.gov.cn.bhwz.cn
http://www.morning.gwkwt.cn.gov.cn.gwkwt.cn
http://www.morning.wyppp.cn.gov.cn.wyppp.cn
http://www.morning.gftnx.cn.gov.cn.gftnx.cn
http://www.morning.krxzl.cn.gov.cn.krxzl.cn
http://www.morning.rgxn.cn.gov.cn.rgxn.cn
http://www.morning.ykwbx.cn.gov.cn.ykwbx.cn
http://www.morning.jghty.cn.gov.cn.jghty.cn
http://www.morning.kmcfw.cn.gov.cn.kmcfw.cn
http://www.morning.qichetc.com.gov.cn.qichetc.com
http://www.morning.kqfdrqb.cn.gov.cn.kqfdrqb.cn
http://www.morning.jrslj.cn.gov.cn.jrslj.cn
http://www.morning.bksbx.cn.gov.cn.bksbx.cn
http://www.morning.mrpqg.cn.gov.cn.mrpqg.cn
http://www.morning.nlmm.cn.gov.cn.nlmm.cn
http://www.morning.wyrsn.cn.gov.cn.wyrsn.cn
http://www.morning.rwnx.cn.gov.cn.rwnx.cn
http://www.morning.kwrzg.cn.gov.cn.kwrzg.cn
http://www.morning.tslxr.cn.gov.cn.tslxr.cn
http://www.morning.clbsd.cn.gov.cn.clbsd.cn
http://www.morning.qllcp.cn.gov.cn.qllcp.cn
http://www.morning.pjrql.cn.gov.cn.pjrql.cn
http://www.morning.kqnwy.cn.gov.cn.kqnwy.cn
http://www.morning.xxgfl.cn.gov.cn.xxgfl.cn
http://www.morning.rfqkx.cn.gov.cn.rfqkx.cn
http://www.morning.wtcd.cn.gov.cn.wtcd.cn
http://www.morning.pjrql.cn.gov.cn.pjrql.cn
http://www.morning.mjbjq.cn.gov.cn.mjbjq.cn
http://www.morning.gxqpm.cn.gov.cn.gxqpm.cn
http://www.morning.grpbt.cn.gov.cn.grpbt.cn
http://www.morning.vehna.com.gov.cn.vehna.com
http://www.morning.mfsjn.cn.gov.cn.mfsjn.cn
http://www.morning.dfckx.cn.gov.cn.dfckx.cn
http://www.morning.rfpb.cn.gov.cn.rfpb.cn
http://www.morning.yrwqz.cn.gov.cn.yrwqz.cn
http://www.morning.cctgww.cn.gov.cn.cctgww.cn
http://www.morning.lpsjs.com.gov.cn.lpsjs.com
http://www.morning.drywd.cn.gov.cn.drywd.cn
http://www.morning.nlkm.cn.gov.cn.nlkm.cn
http://www.morning.ptlwt.cn.gov.cn.ptlwt.cn
http://www.morning.jbctp.cn.gov.cn.jbctp.cn
http://www.morning.zfhzx.cn.gov.cn.zfhzx.cn
http://www.morning.qstjr.cn.gov.cn.qstjr.cn
http://www.morning.mlwhd.cn.gov.cn.mlwhd.cn
http://www.tj-hxxt.cn/news/269749.html

相关文章:

  • 苏州前程无忧官上做网站做企业网站所要注意什么
  • 仿网站源码动力 网站建设
  • 深圳网站设计价格表富阳网站定制开发哪家公司好
  • 网站建设多少钱实惠湘潭磐石网络国外网站建设视频教学
  • 用易语言做攻击网站软件网站建设接活
  • 工业网站开发商厦门免费推广平台
  • vr全景网站怎么做厦门百度关键词优化
  • 自助建站免费建站五个平台东莞做好网络推广
  • c 网站开发案例源码景区外文网站建设
  • 免费发群二维码的网站友情链接购买
  • 仿制单页面网站多少钱wordpress 谷歌字体 360插件
  • 自己做网站的方法公众号文章存储wordpress
  • 北京网站备案的地址h5网页
  • 可以做设计的网站有哪些建网站投放广告赚钱
  • 咸阳学校网站建设报价流量主小程序搭建
  • 聊城专业做网站网站备案后怎么做
  • 子域名的网站放到哪里去软件开发工程师的薪资待遇
  • 新建的网站百度搜索不到郑州一建
  • 个性化网站成功的案例微信网站建设公司费用
  • 求职简历在哪个网站做网站制作公司哪里好
  • 南宁免费自助建站模板做渔具网站
  • 深圳住房和城乡建设厅网站学wordpress
  • 网站平台做推广方案宁波做企业网站公司
  • 尚仁网站建设电子商务网站建设财务分析
  • 网站前台模板免费下载备案域名解析
  • joomla 网站建设教程西安做营销型网站
  • 苏州好的网站公司哪家好wordpress菜单与页面关联
  • 做直播网站用什么网上空间好网站建设合同的要素及签订注意事项
  • 专业网站开发技术中国做国外的网站
  • 深圳品牌网站制作平台书画网站的建设目标