今天看啥  ›  专栏  ›  OSC开源社区

HashMap? ConcurrentHashMap? 看完这篇没人能难住你!

OSC开源社区  · 公众号  · 程序员  · 2018-10-11 08:28
作者:crossoverJie原创公众号:crossoverJie链接:https://my.oschina.net/crossoverjie/blog/1861138前言Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。HashMap众所周知 HashMap 底层是基于 数组 + 链表 组成的,不过在 jdk1.7 和 1.8 中具体实现稍有不同。Base 1.71.7 中的数据结构图:先来看看 1.7 中的实现。这是 HashMap 中比较核心的几个成员变量;看看分别是什么意思?初始化桶大小,因为底层是数组,所以这是数组默认的大小。桶最大值。默认的负载因子(0.75)table 真正存放数据的数组。Map 存放数量的大小。桶大小,可在初始 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照