HashMap,Hashtable,SynchronizedHashMap,ConcurrentHashMap

来源:互联网 发布:linux如何打开pdf文件 编辑:程序博客网 时间:2024/06/16 03:17

java 的HashMap总结

  1. HashMap与HashTable:
    HashMap key value 都可以是null,Hashtable 不可以,
    HashMap 线程不安全,Hashtable 线程安全
  2. SynchronizedHashMap, ConcurrentHashMap

    SynchronizedHashMap是采用全部加锁,相当于包装了一层,内部加完锁再调用hashmap,返回的也是一个SynchronizedMap 会保证原来map中的顺序
    ConcurrentHashMap 采用重写的方式, 1.7之前采用分段锁技术,只锁相关的bucket,不相关部分可以并发,提高了效率,但是是把map中的值重写到HashEntry[]中,不再是一个map, 另外也不会保持原先map中的顺序。 1.8之后,取消了分段锁的概念,采用CAS实现。

原创粉丝点击