跳到主要内容
JackSparrow414

Java 中的锁

锁分类、自定义锁、Condition 与读写锁缓存实践。

4 篇文章 · 按阅读顺序排列

  1. JAVA 中的锁(一)锁分类

    围绕对象头中的Mark Word,介绍偏向锁、轻量级锁和重量级锁的获取、竞争、释放与升级过程。文章通过JOL观察同步代码执行前后的锁标记,并讨论自旋、线程阻塞及不同锁状态的使用场景。

  2. Java中的锁(二)实现自定义锁

    介绍锁的内存语义,以及结合AQS同步器和Lock接口实现自定义同步组件的思路,并给出允许两个线程同时访问的示例。文章还对比轮询等待与wait/notify机制,说明线程通知、重新竞争锁和条件检查的注意事项。

  3. Java中的锁(三)结合Condition实现等待通知

    介绍Lock与Condition结合实现线程等待和通知的方法,对照wait/notify说明await、signal和signalAll的作用。文章通过ReentrantLock示例展示线程协作过程,并说明等待、通知前获取锁及使用后释放锁的要求。

  4. Java中的锁(四)利用读写锁实现高性能网页缓存

    从Ehcache2网页缓存源码入手,分析ReentrantReadWriteLock在并发缓存加载中的作用。结合迁移到Ehcache3的场景,说明如何通过自定义Filter、缓存键和读写锁协作,处理同一网页的并发请求。