HashMap实现原理、核心概念、关键问题的总结
简单罗列一下较为重要的点:
- 同步的问题
- 碰撞处理问题
- rehash的过程
- put和get的处理过程
HashMap基础:
- HashMap的理论基础:维基百科哈希表
- JDK中HashMap的描述:HashMap
- Java中HashMap的实现原理和源码解读:
- 文章1:Java HashMap 核心源码解读
- 简要介绍了容量、装载因子、阈值的作用,结合put和get源码部分介绍了大致流程。但是没有详细说类似与碰撞和碰撞的解决办法,也没有提到关于同步的问题
- 文章2:HashMap实现原理分析
- 介绍了哈希表的特点
- put和get方法详解
- 初始大小的理解
- 解决hash冲突的办法
- rehash过程
- 文章3:HashMap的工作原理(面试,HashMap的过程简述)
- 文章1:Java HashMap 核心源码解读
HashMap进阶:
- 关于同步的问题:
-
- 线程安全中的两种解决办法有何不同,他们都是如何解决同步问题的,速度又怎样:
-
- Collections.synchronizeMap(hashMap);
- ConcurrentHashMap
- HashTable相比HashMap是如何解决线程的安全问题的?
- Popular HashMap and ConcurrentHashMap interview questions
- 酷壳中关于HashMap中的问题(偏向于高级应用和实际应用一些):
- 关于ConcurrentHashMap