自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 HashMap / ConcurrentHashMap 深入拆解:JDK7 vs JDK8,从“扩容坑”到“高并发实现”

摘要:本文深入解析HashMap与ConcurrentHashMap的核心原理。HashMap通过数组+链表/红黑树实现O(1)查找,关键设计包括2的幂容量、扰动函数和扩容优化。JDK8改进包括红黑树、尾插法和按位拆分扩容。ConcurrentHashMap在JDK7采用分段锁,JDK8升级为CAS+桶锁+协作扩容机制,显著提升并发性能。文章还对比了两者差异,指出HashMap线程不安全问题及使用注意事项,并总结了ConcurrentHashMap如何通过细粒度锁和协作机制实现高效并发访问。

2025-12-31 13:22:23 1014

原创 面试题:Synchronized 锁升级全过程?

禁用原因:现代应用多线程竞争普遍,偏向锁撤销的 STW 成本反而成为负担。

2025-12-28 13:20:46 190

原创 面试题:volatile 实现原理?它和 synchronized的区别?

volatile关键字通过内存屏障和缓存一致性协议实现内存可见性。写入volatile变量时插入StoreStore和StoreLoad屏障,读取时插入LoadLoad和LoadStore屏障,防止指令重排序。x86架构下,volatile写通过lock前缀指令触发MESI协议,使其他CPU缓存失效并强制写回主存。与synchronized相比,volatile不保证复合操作原子性但性能更好,适合状态标志位等场景;synchronized则适用于需要互斥保护的复合操作。

2025-12-28 13:00:58 260

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除