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

青岛建站公司推荐外包公司和劳务派遣的区别

青岛建站公司推荐,外包公司和劳务派遣的区别,广东品牌网站制作公司,网站转化率低的原因远离八股文,面试大白话,通俗且易懂 看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。 java面试题汇总-目录-持续更新中 Hashmap和hashtable存储…

远离八股文,面试大白话,通俗且易懂

看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。

java面试题汇总-目录-持续更新中

Hashmap和hashtable存储逻辑基本相同-都是基于hash表实现的。

原理就是都在内部维护了一个数组,这个数组的每个元素就是一个Bucket(桶)。也就是我们通过put方法存储数据的时候,会根据key对应的hashcode返回一个整数索引,索引对应的位置的bucket就是数据存储在数组中的位置。

但是hashcode返回的索引是有限的,所以,不同的key可能得到的索引是相同的,就代表一个bucket里面可能存了不同的key。这就引入了链表。也就是这个数组里面的每个bucket都是一个链表。(数组里面存链表,链表里面存数据)

比如:第一个值进来后,根据key返回的索引是1,那么这个值就存储在下标为1的这个bucket中,紧接着又进来一个key,解析后返回的索引还是1,这时候就会判断下标为1的bucket中是否存在当前这个key,如果存在就替换,如果不存在就在链表的最后追加上这个值。  

如果我们想要获取数据的时候也一样的逻辑,先根据key找到索引,进而找到bucket,因为bucket里面可能存在多个key,就循环看下key是不是存在,如果存在就返回对应的值。

hashmap内部方法没有加锁,所以是线程不安全的,只适用于单线程的环境,但是性能较快。正常情况下都是可以使用

hashtable内部方法都加有synchronized  所以线程安全,但是性能也比较低下。

更推荐使用ConcurrentHashMap来代替hashtable。

因为ConcurrentHashMap引入了分段锁的概念。

就相当于将整个hash表分成多个独立的小型hash表(分段),也就是你操作A段上的数据,只对A段上加锁,不影响BCD等其他分段上面的读写操作。更适用于高并发的场景。

可以对比下hashtable,他如果写数据的时候,会将整个hash表全都加锁,那么其他线程只能等待他写完后才能再进行读写。而ConcurrentHashMap 就很大程度上避免了这种情况。

http://www.rdtb.cn/news/1603.html

相关文章:

  • 工作站做网站seo搜狗
  • iis 网站显示建设中石家庄网络seo推广
  • wordpress 积分会员福州短视频seo网站
  • 网站开发微盘市场营销主要学什么
  • 牟长青 做网站推广的四个基本要点网络销售推广公司
  • 专业做设计的网站南宁seo外包靠谱吗
  • 建网站设免费seo营销优化软件下载
  • 完善政府门户网站建设网站优化名词解释
  • 成都抖音推广公司附子seo
  • 通过门户网站做单点登录SAPseo推广怎么收费
  • 2015网站建设百度云盘官网
  • 企业网站源码变现方法网推怎么做最有效
  • 免费wordpress采集插件网站文章优化技巧
  • h5免费制作平台企业秀seo网络推广优化教程
  • 专门做女性产品的网站硬件优化大师下载
  • 用fw做明星的网站惠州seo排名
  • wordpress顺风车源码佛山网站优化
  • 武汉襄阳网站推广公司哪家好大数据精准获客软件
  • 长沙县 网站建设长沙网站推广
  • 高州网站设计东莞优化网站关键词优化
  • 长沙做网站设计公司网络营销策略
  • 做汽车介绍视频的网站吗百度指数排名热搜榜
  • 如何让百度收录我的网站百度seo快速见效方法
  • 网站包括什么在线排名优化
  • 网站的建设特色河北seo技术
  • 怎样建设公司网站推广引流软件
  • 那个网站平台可以做兼职公司网站如何制作设计
  • 轻淘客网站模板关键词如何优化排名
  • amh wordpress 后台404东莞seo搜索
  • 做网站多少钱 网络服务百度云引擎搜索