HashMap,Hashtable,SynchronizedHashMap,ConcurrentHashMap
2017-12-07 14:27
148 查看
java 的HashMap总结
HashMap与HashTable:
HashMap
4000
key value 都可以是null,Hashtable 不可以,
HashMap 线程不安全,Hashtable 线程安全
SynchronizedHashMap, ConcurrentHashMap
SynchronizedHashMap是采用全部加锁,相当于包装了一层,内部加完锁再调用hashmap,返回的也是一个SynchronizedMap 会保证原来map中的顺序
ConcurrentHashMap 采用重写的方式, 1.7之前采用分段锁技术,只锁相关的bucket,不相关部分可以并发,提高了效率,但是是把map中的值重写到HashEntry[]中,不再是一个map, 另外也不会保持原先map中的顺序。 1.8之后,取消了分段锁的概念,采用CAS实现。
HashMap与HashTable:
HashMap
4000
key value 都可以是null,Hashtable 不可以,
HashMap 线程不安全,Hashtable 线程安全
SynchronizedHashMap, ConcurrentHashMap
SynchronizedHashMap是采用全部加锁,相当于包装了一层,内部加完锁再调用hashmap,返回的也是一个SynchronizedMap 会保证原来map中的顺序
ConcurrentHashMap 采用重写的方式, 1.7之前采用分段锁技术,只锁相关的bucket,不相关部分可以并发,提高了效率,但是是把map中的值重写到HashEntry[]中,不再是一个map, 另外也不会保持原先map中的顺序。 1.8之后,取消了分段锁的概念,采用CAS实现。
相关文章推荐
- HashMap source code analyze/ Hashmap/Hashtable/ConcurentHashmap/synchronizedMap
- Difference between HashMap and HashTable? Can we make hashmap synchronized?
- HashMap,HashTable,synchronizedMap,ConcurrentHashMap,TreeMap,IdentityHashMap的比较分析
- HashMap、 HashTable 、Collections.synchronizedMap、 ConcurrentHashMap
- HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别
- Hashmap/Hashtable/ConcurentHashmap/synchronizedMap
- ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
- 测试 hashmap hashtable Collections.synchronizedMap 多线程并发安全
- HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别(二)
- ConcurrentHashMap,HashTable和Synchronized HashMap比较
- Hashtable, HashMap, Collections.synchronizedMap, ConcurrentHashMap 多线程并发特行分析
- HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别
- Difference between ConcurrentHashMap and Collections.synchronizedMap and Hashtable in Java
- ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
- HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别
- Hashtable 和 HashMap和concurrentHashMap和collections.synchronizedMap
- ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
- 关于hashmap和hashtable的区别,及如何使hashmap变得线程安全?(除了synchronized)---concurrentHashmap
- HashMap、Hashtable和ConcurrentHashMap底层实现原理和线程安全问题
- hashMap和hashTable的区别