HashMap,Hashtable,ConcurrentHashMap和synchronized Map

Posted lgg20

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HashMap,Hashtable,ConcurrentHashMap和synchronized Map相关的知识,希望对你有一定的参考价值。

HashMap: 线程不安全,链表结构,效率高;

Hashtable : 线程安全,但效率低,因为是Hashtable是使用synchronized的,所有线程竞争同一把锁;

Synchronized Map: 线程安全,但效率低,一次性锁住整张表来保证线程安全,所以每次只能有一个线程来访问map。

ConcurrentHashMap:线程安全而且效率高,因为它包含一个segment数组,将数据分段存储,给每一段数据配一把锁。

          在理想状态下,ConcurrentHashMap 可支持16个线程执行并发写操作,及任意数量线程的读操作。

以下三种方式:

  • Hashtable
  • ConcurrentHashMap
  • Synchronized Map

  

以上是关于HashMap,Hashtable,ConcurrentHashMap和synchronized Map的主要内容,如果未能解决你的问题,请参考以下文章

HashMap和HashTable的区别是什么

HashTable vs HashMap

Hashtable与HashMap有啥区别?

HashMap与HashTable

HashMap和Hashtable的区别

HashMap 和 Hashtable 的区别