Study the Java Memory Model and thread synchronization for technical interview preparation.
Learn how concurrent data structures and thread pools work to write safer multi-threaded Java code.
Understand atomic operations and coordination tools like countdown latches through linked article series.
This repository is a structured study guide on Java concurrency, written in Chinese by one developer as a personal learning project that they chose to share publicly. Concurrency refers to the ability of a program to do multiple things at the same time, which in Java involves managing multiple threads running code simultaneously. The author explains they focused on this topic because it is difficult to understand deeply and comes up frequently in technical job interviews. The content is organized as a numbered series of articles, each covering a specific area of Java concurrency. Each entry in the README links out to a published article on an external platform, with the key concepts for that article listed underneath. The series starts with the basics: why concurrency is useful, the trade-offs it introduces, and how threads are created and move through different states during their lifetime. From there it moves into the Java Memory Model, which is the set of rules Java uses to ensure that changes made by one thread are visible to other threads at predictable times. It then covers the key Java keywords that affect concurrency behavior: synchronized (which prevents multiple threads from running the same code at the same time), volatile (which ensures a variable's value is always read from main memory rather than a local cache), and final. Later sections go deeper into the Java locking system, covering the underlying queue-based mechanism that Java uses to manage which thread gets access to a shared resource, as well as specific lock types for common scenarios. The guide also covers concurrent data structures, thread pools (which reuse threads rather than creating new ones for every task), atomic operations (single-step updates that cannot be interrupted mid-way), and coordination tools like countdown latches and semaphores. A knowledge map diagram showing how all these topics relate to each other is included at the end of the README.
← cl0610 on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.