“King concurrent course” full name is “King concurrent course: Concurrency in Structured Cognition Java”, is a series of articles. In this series, I will take you step by step to structurally understand concurrency in Java, following the outline below, and plan to update it by August 31, 2021, with irregular weekly updates.

This series of articles is organized in different stages, and different stages represent different cognitive difficulties. The reason for using the concept of paragraph in king is not only because of the consideration of reconciliating the interestingness of the text, but also because as the cognitive difficulty increases, the difficulty of adhering to it also increases, and the latter is even more intense. Persistence, in the present is so simple and scarce.

As the saying goes, “A person who travels a hundred miles is half of a hundred.” This is true for readers, and it is even more true for me. Readers need to keep reading, and I need to keep writing. Therefore, I sincerely invite gold mining friends can pay attention to me, supervise me, put forward valuable advice, we do long termist together, together from bronze to king.

What can you learn

  • Understanding the basic practice and theory of concurrency in Java;
  • Cognitive concurrent programming problems and corresponding solutions;
  • Understanding the underlying principles behind concurrency;
  • Understand and master common concurrency tools in Java;
  • Note: This article series is not intended for a job interview, but can be used as an auxiliary material.

Suitable readers

  • Students and new employees who have some experience and basic knowledge in Java programming;
  • Students and new professionals who want to gain multithreading, parallel programming and concurrency skills in a short time;
  • Professional developers who want to structurally understand Java concurrent programming;
  • Professional developers who are on their way to a job and want to structurally organize Java concurrent knowledge.

Outline and Update Progress (articles appearing in the outline have been updated)

At first: perception of concurrent foundation | bronze ⭐ ️

  • Bronze 1: The First Trial – How to create a thread first experience
  • Bronze 2: What It is – How to understand Threads in Java
  • Bronze 3: Benefits and Disadvantages – How to understand the safety issues brought by multi-threading
  • Bronze 4: Dragon Slayer – How to use Synchronized
  • Bronze 5: A Peek – How to understand locks in Java object headers from Synchronized
  • Bronze 6: How to format Java memory tool JOL output
  • How do you know Monitor from a lock in Synchronized
  • Bronze 8: Division of Labor and collaboration – Recognize the state and action methods of threads by nature
  • Bronze 9: Pre-emptive action – How to handle exceptions in threads
  • Bronze 10: Tempered – How to Solve the classic problem of Producer and Consumer

Trouble: understanding the problems of concurrent | gold ⭐ ️ ⭐ ️

  • Gold 1: Internecine – How do internecine threads cause deadlocks
  • Gold 2: Steady Reach – How to keep your thread from deadlock
  • Gold 3: Even The Rain – Don’t let your threads starve to death in competition

Joy: the strategy to solve the problem of concurrency | platinum ⭐ ️ ⭐ ️ ⭐ ️

  • Platinum 1: Tracing the Roots – Why is the Lock interface the foundation of Locking in Java
  • Platinum 2: Suddenly, the “esoteric” ReadWriteLock is just so wonderful
  • Platinum 3: Once and for all – How to understand the multiple reentry problem of locks
  • Platinum 4: Command forbidden – why is the semaphore a good synchronization tool between threads
  • Platinum 5: The winner – What is the ubiquitous “blocking queue”
  • Platinum 6: Green in blue -Condition how to wait and notice to play a new game
  • Platinum 7: Uniformity – How does CountDownLatch coordinate the start and end of multiple threads
  • Platinum 8: Valley Trysts – See how CyclicBarrier crosses mountains
  • How to complete the data exchange between threads
  • Platinum 10: Craftsman – How ThreadLocal creates private data Spaces for threads

Four, look up to: control the thread pool and concurrent collections | masonry ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️

  • Diamond 1: How to master thread pool design and principles from the outside

Five, the low eyebrow: insight the principle of concurrent underlying | star yao ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️

Advanced topics in six, awakening: enjoy concurrent | king ⭐ ️ ⭐ ️ ️ ⭐ ️ ⭐ ️ ⭐ ️ ⭐ ️