0 results found
liang
比较HashMap,HashTable,ConcurrentHashMap
2020/03/23 Java 集合
  • HashMap
    HashMap底层实现方式:
    JDK1.8之前是采用数组+链表,当产生哈希碰撞时,会采用头插法往链表中添加节点,在高并发的情况下,当HashMap扩容时可能会产生环形链表,导致get的时候陷入死循环。JDK1.8是采用数组+红黑树,当产生哈希碰撞时,改用尾插法插入,当节点个数 > 8,链表会转化为红黑树,当结点个数 < 6,红黑树会转化为链表。
    默认容量为16,载容因子为0.75。
    HashMap是线程不安全的。

  • HashTable
    HashTable是线程安全的,但是性能不好,因为他直接在方法上加了锁,并发时会阻塞其他线程。

打赏
支付宝
微信
本文作者:liang
版权声明:本文首发于liang的博客,转载请注明出处!