HashMap 和 ConcurrentHashMap的区别?

线程同步安全区别

数据结构区别

HashMap的数据结构 : Array + Linked + RedBlackTree

HashMap默认大小16

  TREEIFY_THRESHOLD 链表转红黑树的链表节点界限
MIN_TREEIFY_CAPACITY 链表转红黑树的最小Array表容量

ConcurrentHashMap的数据结构 : 分段Array + Linked

ConcurrentHashMap同步使用的是 分段锁 , 将Array分为多段 然后每段维护一个锁

ConcurrentHashMap默认大小16

负载因子和HashMap一样 0.75f