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

佛山制作网站设计报价海淀建设网站

佛山制作网站设计报价,海淀建设网站,做网站一般需要什么,营销型企业网站建设ppt小王学习录 今日鸡汤安全使用ArrayList安全使用队列安全使用HashMap 今日鸡汤 安全使用ArrayList 使用synchronized锁或者reentrantLock锁使用CopyOnWriteArrayList(COW写时拷贝)类来代替ArrayList类. 多个线程对CopyOnWriteArrayList里面的ArrayList进行读操作, 不会发生线程…

小王学习录

  • 今日鸡汤
  • 安全使用ArrayList
  • 安全使用队列
  • 安全使用HashMap

今日鸡汤

安全使用ArrayList

  1. 使用synchronized锁或者reentrantLock锁
  2. 使用CopyOnWriteArrayList(COW写时拷贝)类来代替ArrayList类.
  1. 多个线程对CopyOnWriteArrayList里面的ArrayList进行读操作, 不会发生线程安全问题, 不做任何处理
  2. 多个线程对CopyOnWriteArrayList里面的ArrayList进行写操作, 会为每个线程创建一个副本, 各个线程在各自独立的副本上进行修改, 最后不会进行汇总, 最后一个完成写操作的副本将会代替旧的ArrayList(牺牲了实时性来确保线程安全). 如果在写操作期间有线程对其进行读操作, 会读旧的(修改之前的)ArrayList. 本质上是引用之间的赋值. 这种方法适用于读频繁, 不经常写入的情况. 如服务器的配置文件.
  3. CopyOnWriteArrayList的局限性在于:
    (1) 牺牲了实时性, 同时多个线程进行写操作时之会将最后一个完成写操作的副本代替原来的ArrayList, 而率先完成写操作的副本将会作废, 也因此这种方法只适用于读频繁而不经常写的情况
    (2) 这种方法也只适用于ArrayList较小的情况, 否则在创建副本时将会付出巨大的开销.
    (3) 服务器的配置文件就是采用这种写时拷贝的方式来对配置文件进行修改的, 这个功能叫热加载

安全使用队列

  1. 基于数组实现的阻塞队列
ArrayBlockingQueue
  1. 基于链表实现的阻塞队列
LinkedBlockingQueue
  1. 基于堆实现的带优先级的阻塞队列
PriorityBlockingQueue
  1. 最多只包含一个元素的阻塞队列
TransferQueue

安全使用HashMap

  1. 使用HasHTable代替HashMap, HashTable中的关键方法进行了上锁, 使用时是线程安全的
  2. 使用ConcurrentHashMap代替HashMap

ConcurrentHashMap和HashTable的区别:

  1. ConcurrentHashMap的锁粒度更小, 锁冲突发生的概率小.
    HashTable的锁对象是整个哈希表, 这就意味着对哈希表中的任何元素进行操作都会上锁, 但是有些操作是不需要上锁的.
    在这里插入图片描述而ConcurrentHashMap的锁对象是单个链表, 这就大大细化了锁的粒度, 大大减小了发生锁冲突的概率, 且提高了性能
    在这里插入图片描述
  2. ConcurrentHashMap对读操作不上锁, 只对写操作上锁. 通过volatile关键字+原子操作写来确保边读边写的线程安全, 避免脏读的发生.
  3. ConcurrentHashMap使用了CAS操作, 尽量减少上锁的操作. 提高并发性能.
  4. 扩容方面, ConcurrentHampMap使用了化整为零的方式.
    (1) HashTable在进行扩容时, 容量扩为原来的两倍, 将原哈希表中的数据复制到新表中, 因为其是对整个哈希表上锁, 所以在整个哈希表未完成扩容时, 对其的读写操作都会陷入阻塞, 这大大降低了性能
    (2) ConcurrentHashMap在扩容时, 由于锁对象是链表, 所以在进行数据迁移时, 各个链表可以独立迁移, 这样在一次迁移中只对正在迁移的链表上锁, 针对其他链表的读写操作还可以执行.
    如果要执行put操作, 则直接在新的哈希表中添加
    如果要执行take操作, 则对原哈希表和新哈希表都进行检索
    直到新哈希表扩容完成(数据全部迁移), 再释放旧的哈希表.
http://www.yayakq.cn/news/372455/

相关文章:

  • pc网站开发获取位置网站栏目划分怎么做
  • 变化型网站手机可以看的网站
  • 网站建设综合实训报告昆明企业网站设计公司
  • 网站建设属于IT吗手机app免费下载
  • 建设网站有几种渠道旅游网站建设与设计
  • 弄个网站多少钱重庆今天最新新闻
  • 设计模板免费网站芝罘区网
  • 宁波网站排名方法手机电影网站建设
  • 国外做二手服装网站有哪些calypso wordpress
  • 四川住房建设部网站网站制作 文案
  • 网站这么做优化wordpress 商品插件
  • 数据库在网站建设中的作用大学专业分类目录
  • 绵阳专业网站建设公司工伤做实网站
  • 新网站建设 英文翻译洛阳市宜阳建设局网站
  • 网站套模板什么意思今天重大新闻头条
  • 网站后台路径wordpress主题交友
  • 网站推广公司 wordpresswordpress 新媒体
  • 网站设计细节嵌入式培训机构有哪些
  • 做俄语网站建设软件营销网站
  • 易风网站建设面试简历模板免费
  • 教育局建设网站的必要性网络广告形式
  • 百度公司网站排名怎么做滁州做网站电话号码
  • 20g虚拟主机建设网站教务管理系统论文
  • 聊城质量最好网站建设如何做好网络营销推广
  • 河南网站建设培训知名品牌营销策略
  • 想用vs做网站 学什么怎么做建设网站
  • 出入沈阳最新通知今天怎么关闭seo综合查询
  • 建筑公司网站背景图制作网站费用
  • 百度网站建设微信封面口红机网站怎么做
  • 郑州h5网站建设价格女教师遭网课入侵直播录屏曝光c