Felix's BlogFelix's Blog
  • 首页
  • 提示
  • 基础环境整理
  • 计算机基础
  • Java
  • 数据库
  • 消息中间件
  • Spring
  • 其他框架
  • 其他
  • Java
  • 集合
  • JVM
  • 并发
  • 亿级流量 Java 高并发与网络编程实战
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • 分布式
  • 任务调度
  • MySQL
  • Redis
  • Elasticsearch
  • HugeGraph
  • ClickHouse
  • Kafka
  • RabbitMQ
  • ActiveMQ
  • Nats
  • Nginx
  • 核心软件
  • 后端
  • 前端
  • 测试
  • Unity
  • 我的菜谱
Series
Java 集合
List 源码
  • ArrayList
  • Vector
  • (Queue)LinkedList
  • Stack
  • (并发)CopyOnWriteArrayList
Queue 源码
  • PriorityQueue
  • (并发)DelayQueue
  • (并发)ArrayBlockingQueue
  • (并发)LinkedBlockingDeque
  • (并发)SynchronousQueue
  • (并发)PriorityBlockingQueue
  • ArrayDeque
  • (并发)LinkedTransferQueue
Set 源码
  • HashSet
  • TreeSet
  • LinkedHashSet
  • (并发)CopyOnWriteArraySet
  • (并发)ConcurrentSkipListSet
Map 源码
  • HashMap
  • HashTable
  • LinkedHashMap
  • (并发)ConcurrentHashMap
  • TreeMap
  • (并发)ConcurrentSkipListMap
  • EnumMap
  • IdentityHashMap
  • WeakHashMap
utilities 源码分析
  • Arrays
  • Collections

HashMap

felix.shao2025-02-16

HashMap

JDK7 分析

 先了解下典型的一个 HashMap 死循环问题,对后续了解源码也有帮助。jdk7 hashmap 死循环解析open in new window。简单说就是并发扩容方法,改变了原因节点的顺序,会出现了死循环,尾插法不会改变节点顺序,因此不会出现死循环。
 jdk7 源码详细分析open in new window。

JDK8 分析

  • HashMap 源码分析
    • jdk8 源码详细分析open in new window
    • jdk8 浅谈 HashMap 与线程安全open in new window
  • 参考
    • HashMap 源码分析(Jdk 1.8,保证你能看懂)open in new window
    • putVal 解读,含流程图(JDK8)open in new window
Last Updated 2/18/2025, 2:43:17 PM

HashTable →

ON THIS PAGE
  • JDK7 分析
  • JDK8 分析