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

东莞做外贸网站的公司动易网站频道栏目字体大小修改

东莞做外贸网站的公司,动易网站频道栏目字体大小修改,惠州网站建设优化,刚刚做的网站怎么排名目录 相同 不同 1. 继承的父类不同 2. 线程安全性不同 3. 包含的 contains 方法不同 4. toString方法不同 5. 是否允许null值不同 6. 计算hash值的方式不同 7. 计算索引位置的方法不同 8. 初始化容量不同 9. 扩容方式不同 10. 内部存储策略不同#xff08;此处讨论…目录 相同 不同 1. 继承的父类不同 2. 线程安全性不同 3. 包含的 contains 方法不同 4. toString方法不同 5. 是否允许null值不同 6. 计算hash值的方式不同 7. 计算索引位置的方法不同 8. 初始化容量不同 9. 扩容方式不同 10. 内部存储策略不同此处讨论的是Java 8 11. 支持的遍历种类不同 12. 迭代器不同 相同 HashMap 和 Hashtable 都实现了 Map、Cloneable、Serializable接口 不同 1. 继承的父类不同 HashMap 继承自 AbstractMap 类 Hashtable 继承自 Dictionary 类Dictionary 类是一个已经被废弃的类因此已经几乎没人用Hashtable 了。 2. 线程安全性不同 HashMap 线程不安全。HashMap 中的方法在一般情况下是非 Synchronize 的。使用 HashMap 时就必须要自己增加同步处理 Hashtable 线程安全内部方法大多是 Synchronize 的。在多线程并发的环境下可以直接使用Hashtable不需要自己为它的方法实现同步。 Hashtable 实现线程安全的代价就是效率变低因为会锁住整个 Hashtable而ConcurrentHashMap 做了相关优化因为 ConcurrentHashMap 使用了分段锁并不对整个数据进行锁定效率比 Hashtable 高很多。 3. 包含的 contains 方法不同 HashMap 是没有 contains 方法的只包括 containsValue 和 containsKey 方法 Hashtable则保留了 contains 方法效果同 containsValue还包括 containsValue 和 containsKey方法。 4. toString方法不同 HashMap没有重写toString()方法; Hashtable重写了toString()方法。 5. 是否允许null值不同 HashMap 是允许 key 和 value 为 null 值的用 containsValue 和 containsKey 方法判断是否包含对应键值对 Hashtable 键值对都不能为空会报空指针异常。 6. 计算hash值的方式不同 HashMap 内部专门使用了名为 hash 的方法来对 key 的 hash 值做出进一步处理 (h key.hashCode()) ^ (h 16)将计算出的值作为最终的 hash 值。目的是为了获得一个更加均匀分布的整数以便哈希函数得出的地址更加均匀分布降低冲突概率 Hashtable 则是直接使用 key.hashCode() 作为最终的 hash 值。 static final int hash(Object key) {int h;return (key null) ? 0 : (h key.hashCode()) ^ (h 16); } 7. 计算索引位置的方法不同 HashMap 在求 hash 值对应的位置索引为index (n - 1) hash这样的取模操作只需要做位运算位运算比除法的效率要高很多 Hashtableint index (hash 0x7FFFFFFF) % tab.length0x7FFFFFFF的目的是为了将负的hash 值转化为正值因为 hash 值有可能为负数而 0x7FFFFFFF 后只有符号位改变而后面的位都不变。 8. 初始化容量不同 HashMap 的初始容量为16 Hashtable 初始容量为11 但是两者的负载因子默认都是0.75。 9. 扩容方式不同 HashMap为原容量的2倍而且扩容结果一定是2的幂次数 Hashtable为原容量2倍加1。 10. 内部存储策略不同此处讨论的是Java 8 HashMap满足链表长度大于等于 8并且数组长度大于等于64时链表转变成红黑树当红黑树节点少于6时退化为链表 Hashtable都是以链表方式存储。 11. 支持的遍历种类不同 HashMap 只支持Iterator遍历 Hashtable 支持Iterator和Enumeration两种方式遍历。 12. 迭代器不同 HashMap 的迭代器Iterator是 fail-fast 迭代器 Hashtable 的enumerator迭代器不是fail-fast的。 所以当有其它线程改变了 HashMap 的结构增加或者移除元素将会抛出ConcurrentModificationException但迭代器本身的 remove() 方法移除元素则不会抛出ConcurrentModificationException 异常。但这并不是一个一定发生的行为要看 JVM 。而Hashtable 则不会。 本文参考了下述两篇文章 HashMap和Hashtable的区别(绝对经典)_hashmap hashtable-CSDN博客 HashMap和Hashtable的区别-CSDN博客
http://www.hkea.cn/news/14579285/

相关文章:

  • 网站建设的具体奖罚措施做电商海报的网站
  • 济南论坛网站建设wordpress用户登录显示请求失败
  • 南阳网站排名优化价格杭州优质网站建设
  • 网站域名重要吗wordpress主题修改字体
  • 美食网站素材网站百度收录
  • 北京机建网站橘子seo工具
  • 网站正在建设中模板 htmlwordpress post存储
  • 电商设计就是网站设计吗变身小说 wordpress
  • 做外汇必须要网站什么软件可以做ppt
  • 咔咔做受视频网站wordpress分类目录优化
  • 微博上如何做网站推广网站开发实用技术第2版文档
  • 自助建网站信息发布企业濮阳建站公司流程
  • 四川建设厅官方网站四库一平台濮阳建设工程交易网中标公示
  • 网站管理工作总结镇江网站制作优化
  • 北京网站排名seo义乌外贸网站建设公司
  • 快速搭建网站教程巴中建设网站
  • 长春微信做网站爱下手机站
  • 众搜科技做百度网站电子商务网站的功能分析
  • 如何查看网站模板服装 网站规划方案
  • 网站的备案号创做网站
  • 西安网站维保公司公司如何申请一个网站
  • 网站首页布局seo芜湖app开发
  • 网站开发公司tahmwlkj中国建行个人网上银行
  • wordpress 代码执行wordpress最佳速度优化
  • 无锡那家网络公司做网站好建设银行社保网站
  • 销售网站建设怎么样杭州网站关键词排名优化
  • 做网站公司 备案旅游网站这么做
  • 郑州网站建设公司电话多少用html5做的个人网站
  • 公司查询网全国企业信息查询官网3seo
  • 网站建设的信息安全防范技术品牌策划 网站源码