温柔学姐

文章
4
资源
0
加入时间
2年10月17天

HashTable, HashMap, ConcurrentHashMap 之间的区别

使用HashTable,如果多线程操作两个元素,由于使用一个synchronized加锁就会产生竞争,但是我们知道这两元素在不同的哈希桶上,不相关,不会修改同一个变量,不存在竞争,所以此时用synchronized加锁,反而拖慢了进程的速度。(4)扩容化整为零,没有将整个扩容一次性完成,而是每次基本操作都扩容一部分,逐渐完成整个扩容。(如果在扩容途中进行查询操作,新表旧表要求哈,但是新增时,对新表进行操作)(1)把锁的粒度细化,每个哈希桶有一把锁(每个链表的头节点),降低了锁冲突。...