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

青岛建站公司推荐百度的官方网站

青岛建站公司推荐,百度的官方网站,ui是做网站的吗,浙江网站建设价位远离八股文,面试大白话,通俗且易懂 看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。 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.ds6.com.cn/news/13177.html

相关文章:

  • 辽宁营商环境建设局网站高端网站建设公司排名
  • 想做一个赌钱网站怎么做网站关键词上首页
  • 专业的网站建设专业平台网络推广方案设计
  • 无锡哪家做网站好中国新闻最新消息今天
  • 做众筹的网站有几个考研培训班集训营
  • 做网站怎么写预算上海百度推广代理商
  • 网站建设的售后服务流程网站搜索
  • wordpress 获取页面的名称北京网站优化合作
  • 做网站.cn好还是.com好推广赚佣金的平台
  • java做企业网站爱站关键词
  • 一分钟赚一元的游戏3seo
  • wordpress 回车换行seo知识点
  • 外贸是先做网站还是做阿里巴巴天津债务优化公司
  • 中国空间站什么时候建成百度股市行情上证指数
  • 网站建设如何选择服务器网站推广线上推广
  • 广东省一流高职院校建设专题网站外链购买交易平台
  • 网站那种推广链接怎么做指数函数公式
  • 做微商的网站谷歌搜索排名
  • 工信部网站查询免费seo教程分享
  • 商城网站制作云南seo公司
  • 网站上内容列表怎么做的网站建设方案模板
  • 网站怎么做百科在线数据分析工具
  • 网站由什么构成web前端培训费用大概多少
  • 大连网站建设优化广告网
  • 狗贩子怎么做网站卖狗友情链接平台站长资源
  • 哪里有可以做空比特币的网站武汉seo百度
  • wordpress 主题enigmaseo引流什么意思
  • 移动端购物网站建设seo一个月赚多少钱
  • 网站模版属于侵权吗乐天seo培训中心
  • 金泉网是做网站的吗如何自建网站?