并发情况下,HashMap 的 put 操作会有什么问题?
考察说明
考察对 HashMap 线程不安全特性及其并发风险的理解
回答思路
- 指出 HashMap 非线程安全,并发 put 可能导致数据丢失
- 说明 JDK1.7 头插法可能造成环形链表导致死循环
- 说明 JDK1.8 尾插法中扩容迁移可能丢失数据或覆盖更新
- 提及解决方案如 ConcurrentHashMap、Collections.synchronizedMap
- 覆盖明确缺陷而不仅是笼统的线程不安全
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。