Understand ReentrantLock: How It Works and How It Differs from synchronized
ReentrantLock is a powerful synchronization mechanism in Java, part of the java.util.concurrent.locks package. Compared with the synchronized keyword, ReentrantLock offers advanced capabilities and greater flexibility, making it suitable for complex concurrency control scenarios.
Java Concurrency Tools: What I Use and Why
Featuring Semaphore, CyclicBarrier, CountDownLatch, and modern concurrency tools like Phaser, Exchanger, and CompletableFuture.
Understanding Java Memory Model (JMM) and volatile
This article provides a comprehensive guide to the Java Memory Model (JMM), including its design, the main-working memory model, memory operation instructions, and the semantics of the volatile keyword. Updated for 2025, it includes JVM-level enhancements and practical insights for concurrent programming.