hashmap hashtable concurrentmap 比较

hashmap和hashtable的简单区别:

1,hashmap是非线程安全的,hashtable是线程安全的。它内部的方法大多被synchronized修饰。

2,hashmap的键和值都允许null存在,但是hashtable的键和值都不能是空值。

3,由于线程安全,哈希效率的问题,hashmap效率比hashtable要高。

hashmap简述:

他的数据结构就是哈希表:它同时发挥了数组和链表的优势。每一个桶里面可能放的是链表,可能放的是红黑树(红黑树是对平衡二叉树的改进不追求完全平衡,维护成本低,平衡二叉树是对二叉排序树的改进)。键值对所存放的数据结构是内部类Entity,里面存放key,value,next。

concurrentmap:

对hashmap的桶进行了分段,每一个分段上加了lock锁保护。相对于hashtable锁的粒度更加精细了一些,并发性能更好。

键和值都不可以是null;

猜你喜欢

转载自blog.csdn.net/qq_20320127/article/details/82818440