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

wordpress维护代码长春seo技术

wordpress维护代码,长春seo技术,长春哪里做网站好,东莞网站建设备案集合 目录 集合java中存在哪些集合?底层实现逻辑?哪些集合是线程安全的?集合的对比:hash冲突如何解决hashmap为什么线程不安全,如何实现安全?hashmap中循环链表的产生hashmap底层实现原理和扩容机制map的遍…

集合

目录

    • 集合
      • java中存在哪些集合?底层实现逻辑?
      • 哪些集合是线程安全的?
      • 集合的对比:
      • hash冲突如何解决
      • hashmap为什么线程不安全,如何实现安全?
      • hashmap中循环链表的产生
      • hashmap底层实现原理和扩容机制
      • map的遍历方式

java中存在哪些集合?底层实现逻辑?

哪些集合是线程安全的?

hashtable(不常用,低并发下性能较差,因为put和get操作都需要同步),concurrenthashmap,基于分段锁实现,将数据结构分段,不同线程可以同时对不同段读写,提高并发度。

集合的对比:

一律从底层实现(数组,动态数组,双向链表,红黑树),线程安全(vector,hashtable,concurrenthashmap是线程安全的),迭代方式,元素类型(基本元素or对象,可否存null,是否重复,是键值对还是单一元素),
hashmap与hashtable
hashmap与hashset(map存储键值对,set存储单一键值,set可以放一个null,map的key和value都可为null,性能方面由于set只存值,性能相比map较好)
arraylist与linkedlist
arraylist与arraydeque
hashmap与concurrenthashmap区别(线程安全,concurrent通过分段锁实现,高并发和低并发下二者有不同性能,hashmap在并发下只能通过外部同步的方法实现同步,collections.synchronizedmap()方法。。以及迭代时是否需要加锁)

hash冲突如何解决

先说明hash冲突的发生原因,hash表的实现是由数据经过hash函数运算得到的位置进行存储,但hash表的位置是有限的,计算的数据是无限的,总会出现不同组数据经过计算得到相同hash值的情况,就叫hash冲突。
解决方法:
开放寻址:根据冲突后的地址向前寻找一个空闲的位置进行存储

链式寻址:把存在hash冲突的位置按单向链表的形式存储

再hash法:再使用另一个hash函数对这个key进行运算,直到不再发生冲突。此方法会对性能有影响,可能会增加计算时间。

建立公共溢出区:把hash表分为基本表和溢出表,有冲突的值一律放到溢出表的部分

hashmap为什么线程不安全,如何实现安全?

并发修改,可能一个线程进行写操作,另一个线程读操作的时候可能会读取到不一致的数据导致抛出异常。
操作不是原子的,比如查找某个key是否存在的操作,多个线程可能会产生竞态条件。

实现安全,通过collections.concurrentsynchronizedMap(),创建一个线程安全的hashmap,使put和get操作实现同步
或使用concurrentHashmap
或显示地使用锁

hashmap中循环链表的产生

jdk1.7中是使用头插法给table扩容的,在多线程的情况下容易导致线程1还在处理节点,线程2已经逆序扩好容了,此时会产生循环链表的情况

hashmap底层实现原理和扩容机制

哈希表里的每个元素都是一个node类(基于map.entry的实现),node对象包含key,value,hash值,next节点存储下一个节点位置,所以只需要记录每个hash的第一个node就可以遍历到整个map中的node

map的遍历方式

forEach+getkey()/values()一次性取出所有key或者value遍历
forEach+entrySet,将键值对存入set遍历
使用interator+entrySet()结合,优点是每一步循环都可控,循环过程中可以改变集合的长度(forEach循环中不可以改变)
使用stream流+lambda表达式

http://www.dinnco.com/news/31321.html

相关文章:

  • 巫山网站设计徐州网络推广服务
  • 网站建设程序都有哪些推广论坛有哪些
  • 如何给英文网站做外链外贸怎么建立自己的网站
  • 南头专业的网站建设公司seo资源
  • 大型企业网络搭建西安seo招聘
  • 西安做网站公司必达产品运营主要做什么
  • 松江建网站绍兴seo优化
  • 做电影收费网站软文范例大全100字
  • 做网站需要画原型图么如何进行网站宣传推广
  • 安徽省途顺建设工程有限公司网站百度搜索榜排名
  • wordpress中修改链接seo关键词优化软件怎么样
  • 自做网站的步骤如何制作网页教程
  • 网页制作简单高级seo培训
  • 南昌高端网站建设如何制作网页广告
  • 做图表网站网络营销策划书包括哪些内容
  • 网站建设教程哪家公司好百度投诉中心人工电话号码
  • 网站源码cms哈尔滨seo关键词优化
  • 如何制作单页网站长沙靠谱关键词优化服务
  • 哈尔滨市建设安全监察网站_首页软文写作500字
  • 武汉网站建设费用品牌营销咨询公司
  • 电影网站的代理怎么做百度今日数据
  • wordpress 网店插件电脑系统优化软件排行榜
  • 男科是去私立还是公立独立站seo建站系统
  • 网页设计实训心得体会500字抖音seo关键词优化
  • 帝国网站管理系统后台北京百度seo价格
  • 大连网站设计公司北京百度快速优化排名
  • 微网站建设套餐有没有免费的推广网站
  • 网站注册主机互联网品牌的快速推广
  • 驻马店标准网站建设国产系统2345
  • 网站建设 h5博客