Learn Java Concurrency & Correctness
// Peta skill, target kompetensi, batasan seri, cara latihan 20 jam pertama, dan taxonomy Java concurrency untuk engineer tingkat lanjut.
This overview is designed to help you choose the right entry point quickly. Follow the full track from lesson one, continue from your last checkpoint, or jump straight into a phase that matches what you need right now.
Curriculum Map
Navigate by phase, then choose the lesson that matches your current depth.
Kaufman Skill Map
15 minPeta skill, target kompetensi, batasan seri, cara latihan 20 jam pertama, dan taxonomy Java concurrency untuk engineer tingkat lanjut.
Concurrency vs Parallelism vs Asynchrony
17 minPerbedaan concurrency, parallelism, asynchrony, non-blocking, reactive, throughput, latency, utilization, dan bagaimana memilih model eksekusi yang tepat di Java.
Correctness First Mental Model
21 minCorrectness-first mental model for Java concurrency: safety, liveness, invariants, linearizability, determinism, and failure-oriented reasoning before choosing APIs.
Thread Execution Model
20 minJava thread execution model: platform threads, JVM/OS scheduling, lifecycle states, daemon behavior, interruption, uncaught failure, and production implications.
Shared State and Data Races
15 minShared mutable state, race condition, data race, check-then-act, lost update, stale read, aliasing, and correctness-first mitigation strategies.
Java Memory Model Foundation
13 minJava Memory Model foundation: visibility, ordering, happens-before, synchronization actions, correctly synchronized programs, and practical design rules.
Volatile, Final, and Safe Publication
17 minDeep dive into volatile, final fields, initialization safety, object publication, lazy initialization, visibility edges, and practical safe-publication design rules.
Atomicity and Compound Actions
14 minAtomicity, compound actions, linearization points, CAS thinking, AtomicInteger, AtomicReference, LongAdder, ABA risk, and choosing between locks and atomics.
Locking with synchronized
17 minIntrinsic locks, synchronized methods and blocks, monitor ownership, reentrancy, lock scope, happens-before guarantees, object-level locking, and production-grade synchronized design.
Locks, Conditions, and Coordination
16 minExplicit locks, ReentrantLock, Condition, fairness, timed and interruptible acquisition, coordination protocols, signal discipline, and production lock design.
Liveness, Deadlock, Starvation, and Livelock
18 minLiveness failure modes in Java concurrency: deadlock, starvation, livelock, priority inversion, lock ordering, timeout strategy, diagnostics, and production prevention.
Wait, Notify, and Guarded Suspension
12 minDeep dive into wait, notify, notifyAll, guarded suspension, condition predicates, missed signals, spurious wakeups, monitor wait sets, and safer modern alternatives.
High-Level Synchronizers
18 minDeep dive into Java high-level synchronizers: Semaphore, CountDownLatch, CyclicBarrier, Phaser, Exchanger, coordination contracts, invariants, failure modes, and production usage.
Blocking Queues and Backpressure
18 minDeep dive into BlockingQueue, bounded queues, producer-consumer correctness, backpressure, saturation, poison pill, shutdown, queue implementation choices, and production overload behavior.
Concurrent Collections Invariants
15 minConcurrent collections tidak hanya tentang memakai Map yang thread-safe, tetapi tentang menjaga invariants data saat banyak thread membaca dan menulis secara bersamaan.
Atomics, VarHandle, and Lock-Free Thinking
13 minAtomic classes, VarHandle, CAS, memory access modes, dan lock-free thinking untuk engineer yang ingin benar, bukan sekadar menghindari synchronized.
ExecutorService and Task Lifecycle
15 minExecutorService, task lifecycle, Future, shutdown, cancellation, rejection, dan kontrak task production-grade di Java modern.
Thread Pool Engineering
17 minThread pool engineering untuk CPU-bound, IO-bound, blocking workloads, queue capacity, rejection policy, saturation, bulkhead, dan virtual-thread-era Java.
ForkJoin and Work Stealing
15 minForkJoinPool, work stealing, RecursiveTask, RecursiveAction, task decomposition, threshold design, blocking hazards, ManagedBlocker, and production-grade parallel execution.