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.