Course contents
Java 21 · Interview to Production

Concurrency Curriculum

Learn to identify invariants, prove correctness, choose Java primitives, manage execution, and carry the same reasoning across database and distributed boundaries.

Start course
Module 1

Reasoning Foundations

6 lessons6 core

Build the mental model used throughout the course: reason about tasks, interleavings, shared invariants, correctness, and progress before choosing an API.

Module 2

Java Memory Model

6 lessons5 core1 advanced

Understand atomicity, visibility, ordering, happens-before, publication, and the guarantees behind Java synchronization tools.

Module 3

Locks and Coordination

6 lessons5 core1 advanced

Choose and use Java locks, conditions, permits, gates, barriers, and cancellation protocols according to the relationship between tasks.

Module 4

Tasks, Executors, and Modern Java

8 lessons6 core2 advanced

Manage task execution, capacity, results, failures, scheduling, parallel computation, virtual threads, and structured lifecycles.

Module 5

Coding Problems

5 lessons

Java-first concurrency exercises with progressive hints, rigorous solutions, and explicit safety and liveness reasoning.

Module 6

Concurrent Collections and Patterns

6 lessons4 core2 advanced

Choose collections by operation semantics, transfer ownership through queues, and reduce contention through snapshots, partitioning, and coordinated caching.

Module 7

Design, Testing, and Diagnostics

6 lessons5 core1 advanced

Turn primitives into reviewable components, measure the right bottleneck, test hostile schedules, benchmark honestly, and diagnose production contention.

Module 8

Database and Distributed Concurrency

6 lessons4 core2 advanced

Carry concurrency reasoning across process boundaries using transactions, constraints, idempotency, leases, fencing, and an honest coordination decision framework.