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

中国建设银行网站 个人中国建设监理协会化工监理协会网站

中国建设银行网站 个人,中国建设监理协会化工监理协会网站,做企业网络营销推广,小地方的旅游网站怎么建设一、HashMap与HashTable的区别 1.来历 HashTable是一种键值映射的数据结构#xff0c;自从java发布就存在#xff0c;而HashMap是jdk1.2后才出现的#xff0c;虽然说HashTable出现得早且线程安全#xff0c;但是效率很低已经弃用了#xff0c;现在HashMap逐渐成为主流 …一、HashMap与HashTable的区别 1.来历 HashTable是一种键值映射的数据结构自从java发布就存在而HashMap是jdk1.2后才出现的虽然说HashTable出现得早且线程安全但是效率很低已经弃用了现在HashMap逐渐成为主流 2.底层数据结构不同 HashTable底层使用的是数组➕链表而HashMap底层则是数组➕链表红黑树 3.线程安全性不同 HashTable是线程安全的这是因为在每个方法中加入了Synchronize用来实现线程同步在多线程并发的情况下直接用HashTable就可以实现线程安全HashMap则是线程不安全的。 但是使用HashTable效率太低了这是因为当线程访问HashTable的同步方法时其他线程只有堵塞等待占用线程执行完 而HashMap在多线程环境中使用put方法导致形成环形链表从而形成死循环导致线程不安全 这个时候ConcurrentHashMap使用分段锁对不同的数据段使用不同的锁可以支持多个线程同时访问不同数据段这样既保证了线程安全性也提高了并发效率 4.key和value是否允许null值 HashTable中key和value都不允许为null而HashMap可以且只允许一个key值为null而value允许一个或者多个为null 5.数据初始化与扩容机制不同 HashTable默认容量为11而HashMap默认容量为16HashTable扩容时会将容量变为原来的2被加1而HashMap会将容量变为2倍。HashTable之所以扩容时会将容量变为2倍加1是因为HashTable采用取模方式计算数组下标同时尽量为素数或者奇数目标是减少Hash碰撞让计算出来的下标更加分散让元素均匀分布于数组中的多个位置 二、为啥HashMap要用数组➕链表➕红黑树 1.数组使用数组可以利用key的hash值能够快速查询元素 2.链表由于两个对象调用哈希函数计算哈希码值一致导致计算数组的索引值相同这就是hash冲突。通过将索引值相同的元素放在一个链表中去解决hash冲突 3.红黑树如果超过8个节点的链表就使用红黑树来代替链表从而实现查询性能的提升
http://www.yutouwan.com/news/257304/

相关文章:

  • 一个微信可以做两个网站支付宝吗海尔集团企业网站建设分析
  • 个人建网站首选什么域名好wordpress地址和找点地址
  • 海兴县网站建设公司软件工程大学排名
  • 做外贸网站公司哪家好seo视频教程
  • 佛山网站提升排名长沙手机网站建设公司
  • wordpress网站欣赏百度收录好最快的网站
  • 网站建设公司话术宁德市人社局
  • 服务器做多个网站中国建筑网址
  • 壁纸网站模板临沧网站建设ynyue
  • 购物网站怎么做SEO做游戏小网站是啥
  • 网站建设二级分销网站开发部门工资会计分录
  • 海丰建设局网站营销网站开发规划
  • 云南seo简单整站优化怎么在阿里云上做网站
  • 设计师可以做兼职的网站有哪些辽宁建设工程信息网直接发包工程
  • 深圳网站建设公司服务电子科技学校网站建设
  • godaddy 网站上传小公司做网站需要
  • 万州区建设局官方网站上传的网站怎么打开
  • 徐州建设工程交易网站找人做建筑施工的网站
  • php网站开发实例教程案例建筑网站设计模版
  • 中文域名可以做网站吗wordpress 文本小工具栏
  • 贵州省网站建设网站ico图标放在哪里
  • 专门建立网站的公司吗做网站定制
  • 网站开发标书范本网站权重不稳定
  • 福建省建设质量安全协会网站厦门建设工程信息造价网站
  • 资深的教育行业网站开发抚州做网站的公司
  • 做一个电商网站要多少钱口碑好的武进网站建设
  • 大网站链接提取视频的网站
  • 建设部网站上查不到资质的企业wordpress 视频付费插件
  • 双体系建设网站用名字做头像是什么网站
  • 南京 微网站 建站深圳网站设计公司发展历程