摘要: 一、单线程环境下 底层:hash表结构 (数组 + 链表) 使用无参构造创建对象时 会默认长度11的数组 加载因子0.75 Hashtable<Object, Object> hashtable = new Hashtable<>(); 添加第一个元素 hashtable.put("键","值"); 阅读全文
posted @ 2024-10-19 22:21 jock_javaEE 阅读(52) 评论(0) 推荐(0)
摘要: 一、能具体说一下ConcurrentHashmap的实现吗 ? ConcurrentHashmap线程安全在jdk1.7版本是基于分段锁 实现,在jdk1.8是基于CAS+synchronized 实现。 1.7分段锁 从结构上说,1.7版本的ConcurrentHashMap采用分段锁机制,里面包 阅读全文
posted @ 2024-10-19 20:20 jock_javaEE 阅读(16) 评论(0) 推荐(0)
摘要: 一、HashMap的数据结构 数据结构示意图如下: 其中,桶数组是用来存储数据元素,链表是用来解决冲突,红黑树是为了提高查询的效率。 数据元素通过映射关系,也就是散列函数,映射到桶数组对应索引的位置 如果发生冲突,从冲突的位置拉一个链表,插入冲突的元素 如果链表长度>8&数组大小>=64,链表转为红 阅读全文
posted @ 2024-10-19 01:59 jock_javaEE 阅读(20) 评论(0) 推荐(0)