butterfly100

随笔分类 -  源码阅读

摘要:1. 前言 HashMap是非线程安全的,在多线程访问时没有同步机制,并发场景下put操作可能导致同一数组下的链表形成闭环,get时候出现死循环,导致CPU利用率接近100%。 HashTable是线程安全的,使用synchronized锁住整个table的方式来保证并发访问下的线程安全,但效率却比 阅读全文
posted @ 2017-12-11 01:16 butterfly100 阅读(1250) 评论(0) 推荐(1) 编辑
摘要:HashMap是Map家族中使用频度最高的一个,下文主要结合源码来讲解HashMap的工作原理。 1. 数据结构 HashMap的数据结构主要由数组+链表+红黑树(JDK1.8后新增)组成,如下图所示: 左侧数组是哈希表,数组的每个元素都是一个单链表的头节点,当不同的key映射到数组的同一位置,就将 阅读全文
posted @ 2017-11-15 15:28 butterfly100 阅读(686) 评论(2) 推荐(1) 编辑

点击右上角即可分享
微信分享提示