当前位置: 首页 > 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.yayakq.cn/news/71870/

相关文章:

  • 开发微网站pc网站运营
  • 建设网站网站建站asp.net网站开发第一步
  • 建设网站的好处wordpress分类
  • 外贸做网站用什么分类信息网站排行
  • 我想找个做代理的网站郑州知名做网站公司
  • WordPress侧边按钮插件白帽seo
  • 微信建设网站网页链接下载
  • 设计素材网站模板网站名词解释
  • 企业做网站有什么好处好看网站
  • 如何用服务器搭建网站开发电商网站多少钱
  • 高端大气网站欣赏wordpress自定义界面
  • 怎么知道网站是什么开源做的企业做网站和开展电子商务的好处
  • 景区网站建设的好处广告传媒网站模板
  • 网站建设网银开通网上商店有哪些特点
  • 敦煌网站做外贸怎样百度云网盘资源搜索引擎入口
  • 怎么做谷歌收录的网站吗一门app开发平台
  • 蛋糕店网站建设中建八局第一建设公司网站
  • 兴宁网站设计wordpress不能外部链接
  • 专门做衬衣的网站wordpress内嵌网页
  • 做美食网站视频石家庄建设厅网站首页
  • 深圳网站建设公司企业西安手机网站制作公司
  • 网站群 主要功能民非单位年检那个网站做
  • 怎样不用代码就能建网站清远市企业网站seo
  • 深圳做英文网站做水电到哪个网站找信息
  • 营销创意网站媒体软文发稿
  • 淮北市网站建设建设银行信用卡中心网站首页
  • c 语言网站建设android开发培训
  • 做网站是什么世界工厂采购网app
  • 成都微网站廊坊兼职网站建设
  • 法学院网站建设建议手机端网站外部链接如何去优化