今天我们接着来学习HashMap的源码,HashMap的数据结构与ConcurrentHashMap的数据结构相同,所以学好HashMap对后面学习ConcurrentHashMap很有帮助。 文章目录 环境 基本的全局常量 HashMap的数据结构(基于JDK1.8) HashMap的散列函数 散列冲突的处理 HasMap的扩容机制 put 方法的源码解析 get方法的源码解析 remove方法的源码解析 总结 参考 环境 本代码基于JDK1.8 基本的全局常量 默认初始化的容器大小16: static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 1 左移4位 最大的数据容量2的30次方。也就是说最多存放2的30次方个数据