hashmap和hashtable的简单区别:
1,hashmap是非线程安全的,hashtable是线程安全的。它内部的方法大多被synchronized修饰。
2,hashmap的键和值都允许null存在,但是hashtable的键和值都不能是空值。
3,由于线程安全,哈希效率的问题,hashmap效率比hashtable要高。
hashmap简述:
他的数据结构就是哈希表:它同时发挥了数组和链表的优势。每一个桶里面可能放的是链表,可能放的是红黑树(红黑树是对平衡二叉树的改进不追求完全平衡,维护成本低,平衡二叉树是对二叉排序树的改进)。键值对所存放的数据结构是内部类Entity,里面存放key,value,next。
concurrentmap:
对hashmap的桶进行了分段,每一个分段上加了lock锁保护。相对于hashtable锁的粒度更加精细了一些,并发性能更好。
键和值都不可以是null;