ConcurrentHashMap

Map<String,Object> concurrentHashMap=new ConcurrentHashMap<String,Object>();

一个目前使用最多,最推荐的一个集合,实现也是比较复杂的。

里面的线程安全是通过cas+synchronized+volatile来实现的,

其中也可看出它的锁是分段锁,所以它的性能相对来说是比较好的。整体实现还是比较复杂的

但是它的效率是最高的,写效率稍慢,但读效率超高,所以实际高并发编程中一般用的都是ConcurrentHashMap。
concurrentHashMap使用分段,相当于把一个hashmap分成多个,然后每个部分分配一把锁,这样就可以支持多线程访问。

HashMap和HashTable的区别?但是如果想线程安全有想效率高?相关推荐

  1. HashMap和Hashtable的区别 2

    导读: 1 HashMap不是线程安全的 hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值.HashMap允许null k ...

  2. hashmap的特性?HashMap底层源码,数据结构?Hashmap和hashtable ConcurrentHashMap区别?

    1.hashmap的特性? 允许空键和空值(但空键只有一个,且放在第一位) 元素是无序的,而且顺序会不定时改变 key 用 Set 存放,所以想做到 key 不允许重复,key 对应的类需要重写 ha ...

  3. 高薪程序员面试题精讲系列36之说说HashMap与HashTable的区别有哪些?

    一. 面试题及剖析 1. 今日面试题 HashMap与HashTable的区别有哪些? hash一致性算法了解吗?原理是什么?底层怎么实现的? ....... 2. 题目剖析 今天这道题目,考察的还是 ...

  4. hashMap和hashTable的区别以及HashMap的底层原理?

    hashMap和hashTable的区别? 1.继承的父类不同 HashTable继承Dictionary类,而hashMap继承了AbstractMap类,但是二者都实现了map接口. 2.线程安全 ...

  5. Java——集合(HashMap与Hashtable的区别)

    * HashMap和Hashtable的区别* 共同点:* 底层都是哈希算法,都是双列集合* 区别:* 1,HashMap是线程不安全的,效率高* Hashtable是线程安全的,效率低 * 2,Ha ...

  6. JAVA面试题:HashMap和Hashtable的区别

    HashMap和Hashtable的区别 1.共同点:都是双列集合,底层都是哈希算法 2.区别: * 1.HashMap是线程不安全的,效率高,JDK1.2版本 * Hashtable是线程安全的,效 ...

  7. HashMap和Hashtable的区别--List,Set,Map等接口是否都继承自Map接口--Collection和Collections的区别...

    面试题: 1.HashMap和Hashtable的区别?HashMap:线程不安全,效率高,键和值都允许null值Hashtable:线程安全,效率低,键和值都不允许null值ArrayList代替V ...

  8. 18.集合框架(Map集合,HashMap和Hashtable的区别,Collections(集合工具类),集合练习,模拟斗地主(洗牌,发牌,看牌))

    1.Map集合概述和特点 1.需求:    根据学号获取学生姓名 2.Map接口概述     查看API可以知道:     将键映射到值的对象     一个映射不能包含重复的键     每个键最多只能 ...

  9. JAVA 映射HashMap和HashTable的区别和实用

    JAVA 映射HashMap和HashTable的区别和实用 /*  * @author Mr liu  *   * 基本格式:HashMap<key,vaule>  * 面试题  * H ...

  10. java HashMap 与HashTable的区别

    HashMap 与HashTable的区别 HashMap与Hashtable的区别是面试中经常遇到的一个问题.这个问题看似简单,但如果深究进去,也能了解到不少知识.本文对两者从来源,特性,算法等多个 ...

最新文章

  1. bootstrap 文件上传fileinput
  2. 通过Java代码装配bean
  3. 缓存redis的整合
  4. NumPy之:NumPy简介教程
  5. Leet Code OJ 101. Symmetric Tree [Difficulty: Easy]
  6. 记事本状态栏不会自动_如何在记事本中同时启用状态栏和自动换行
  7. 前端学习(1860)vue之电商管理系统电商系统之渲染login组件并且实现路由重定向
  8. Windows和linux提权方法,Windows与Linux本地用户提权体验(一)
  9. Python数据结构与算法(五)--链表
  10. 【Keil】Keil5无法更改背景色和字体解决方案
  11. 正则表达式---采集总结
  12. Kafka使用经验小结
  13. mysql数据库索引使用总结和对比
  14. GNN IS A COUNTER REVISITING GNN FOR QUESTION ANSWERING
  15. 搬砖之余干什么?推荐这几个优质公众号
  16. 714. 买卖股票的最佳时机含手续费
  17. iOS开发:GitHub上传代码错误提示fatal: Authentication failed for 'https://gitee.com/XXX/XXX.git/‘的解决方法
  18. unity之动画编辑器
  19. 你所不知的米聊和微信的前身——酷啦啦
  20. CDOJ 1644 KKX Sequence

热门文章

  1. WARNING: erroneous pipeline: no element ffdec_h264解决方案
  2. 计算机应用是中职生必修的一门课程,中职学校计算机应用基础课程教学思考
  3. 三大岩类的野外区分方法
  4. s()++php,.phps(dotphps)文件类型以及MIME类型详细描述
  5. 论文:基于数据挖掘的网络入侵检测关键技术研究-郭春
  6. 亿级流量电商详情页系统设计与实战-虚拟机centos环境搭建
  7. Java JVM 虚拟机编译器性能增强优化技术
  8. Java面向对象思想以及原理以及内存图解
  9. C++版忍者跑酷小游戏(可直接复制程序源代码)
  10. 一个强大、支持100多中格式.Net图片操作库