跳到主内容
登录
← 返回题库
八股概念3/5 中等字节跳动Java 后端 · 一面 ★ 0 · 浏览 8 · 2026 年

ConcurrentHashMap 如何保证线程安全?

JDK8 之后 ConcurrentHashMap 的并发控制从分段锁改成了什么?请说明 put 的流程,以及为什么不允许 null key / null value。

Java并发集合

参考答案

先自己想 30 秒再看答案,比直接读一遍有用得多。

追问链

  1. 1. 扩容时其他线程怎么参与迁移?
  2. 2. size() 在并发下怎么统计?
  3. 3. 为什么用 synchronized 而不是 ReentrantLock?