JAVA面试-并发篇 09-LockSupport 和 waitnotify 的区别
LockSupport 与 wait/notify 核心区别详解一、文章概述wait/notify是Object类的原生线程通信方法,依赖synchronized同步锁;LockSupport是JUC提供的线程阻塞唤醒工具,是AQS的核心底层组件。
Java ReentrantLock 实战详解:比 synchronized 更灵活的可重入锁
简介ReentrantLock 是 Java 并发包 java.util.concurrent.locks 里的可重入互斥锁。它和 synchronized 一样,都能解决多线程同时修改共享数据带来的线程安全问题。
Java手写分布式锁(Redis+ZooKeeper双实现)实战
在分布式系统中,并发控制是后端开发的核心痛点之一,分布式锁作为解决跨节点并发竞争的关键方案,直接决定了系统的稳定性与安全性。2026年Java微服务架构持续普及,Redis与ZooKeeper仍是分布式锁的主流依赖,但新手常踩“死锁”“误释放”“高并发失效”等坑。
Java 并发编程:线程池、锁、CAS 与 CompletableFuture
在 Java 后端开发中,并发编程几乎无处不在。用户同时访问系统、多个设备同时上报数据、后台任务批量执行、订单同时创建、消息异步消费……这些场景背后,都离不开 Java 并发编程。例如,一个能源管理平台需要同时处理数千台设备的数据上报。
高并发场景下重复提交问题解决方案,实战落地
在软件开发中,高并发场景下的重复提交的问题,是后端开发、架构设计中高频遇到的痛点——用户快速点击提交按钮、网络延迟导致请求重试、分布式系统节点同步异常,都可能引发重复提交,进而造成数据错乱、业务异常(如重复下单、重复支付、重复生成订单),严重影响系统稳定性和用户体验。
ConcurrentHashMap里面也有死循环,作者留下的彩蛋了解一下?
从这个方法的第二个入参 mappingFunction 我们可以知道这是 JDK 8 之后提供的方法了。该方法的含义是:当前 Map 中 key 对应的值不存在时,会调用 mappingFunction 函数,并且将该函数的执行结果作为该 key 的 value 返回。
StampedLock 实战教程:网关路由、库存扣减、缓存防重
读多写少的场景里,ReentrantReadWriteLock 的读锁还是要走一遍 CAS。StampedLock 的乐观读连锁都不拿,读一个版本号就完事,吞吐能翻几倍。但它是把快刀:不可重入、stamp 要自己管,用错一处就是线上事故。
Java的StampedLock为什么是锁王,这样答就够了
Java的锁从synchronized到ReentrantLock,再到ReentrantReadWriteLock,一路在解决不同层次的并发问题。StampedLock在JDK8加入,在读写锁的基础上引入了乐观读机制,读多写少的场景下性能提升明显。