
Java并发编程
文章平均质量分 94
小梁不秃捏
读进化论,我赞成达尔文
展开
-
Java内存模型(JMM)深度解析:从并发问题到解决方案
本文围绕 Java 内存模型(JMM)展开,深入探讨了其相关概念、原理及在并发编程中的应用,具体内容摘要如下:JMM 产生背景:多核 CPU 时代,并发编程可提升性能,但带来可见性、原子性和有序性三大问题。根源在于 CPU 缓存机制及指令重排序,为解决这些问题引入 JMM。JMM 架构设计内存抽象模型:定义主内存和工作内存,线程间通信需先将本地内存修改同步到主内存,再从主内存读取。不过多线程操作共享变量可能引发线程安全问题。内存交互协议:通过 lock、unlock、read 等 8 种原子操作保证原创 2025-02-17 20:38:50 · 1053 阅读 · 0 评论 -
Java并发中的CAS机制:原理、应用与挑战(通俗易懂版)
本文深入介绍了 Java 中的 CAS 机制。以银行账户转账为例,展示了其无锁操作策略。底层通过 `sun.misc.Unsafe` 类调用 CPU 指令实现,如 `AtomicInteger` 就基于此包装。不过,CAS 面临 ABA 问题、自旋开销和多变量原子性等挑战,分别可通过 `AtomicStampedReference`、自适应自旋等应对。在计数器、状态标志等场景适用性高,高并发下性能优于锁。使用时应优先用 JUC 原子类,警惕问题、控制自旋。未来有 VarHandle API、轻量级线程等演进原创 2025-02-14 22:15:37 · 1176 阅读 · 0 评论 -
一文读懂乐观锁与悲观锁:如何在高并发场景下保护你的数据?
悲观锁假设。原创 2025-02-14 21:32:54 · 702 阅读 · 0 评论