← All 186 courses
DEV-202 Development

Advanced Java: Concurrency, JVM & Performance

Take engineers from working code to correct, fast and diagnosable code under concurrency and load: the memory model, executors and structured concurrency, virtual threads, garbage collection behaviour and allocation profiling. Learners reproduce and fix a race, a leak and a latency regression on a live service. The emphasis throughout is evidence from tooling rather than intuition.

B4Professional
6modules
47skill atoms
1role journey
Curriculum

What this course covers.

6 modules, 47 named skill atoms. Expand any module to see them.

1Threads, Executors and Structured Concurrency9 skill atoms
Thread lifecycle and interruptionExecutorService and sensible pool sizingbounded queues and rejection policiesCompletableFuture composition and exception propagationStructuredTaskScope.open() with a Joiner policystill preview, needs --enable-previewCompletableFuture as the shippable option todaythread pool starvation and nested blocking callsgraceful shutdown and awaitTermination
2The Java Memory Model7 skill atoms
happens-before and visibilityvolatile semantics vs atomicitysynchronized and intrinsic locksAtomicInteger and compare-and-swapsafe publication of immutable objectsdouble-checked locking done correctlyfalse sharing and cache line contention
3Virtual Threads and Modern Concurrency10 skill atoms
platform vs virtual threadscarrier threads and mountingpinning before and after JEP 491synchronized no longer pins on JDK 24+native frames as the remaining causejdk.VirtualThreadPinned JFR eventthread-per-request without pool tuningThreadLocal cost at high thread countsmigrating blocking JDBC workloadswhen reactive is still the better fit
4Garbage Collection and Heap Behaviour7 skill atoms
generational hypothesis and young collectionsG1 regions and pause targetsgenerational ZGC for low pause requirementsallocation rate as the real GC leverhumongous allocations and fragmentationGC log parsing with GCEasysizing heap against container memory limits
5Diagnosing Production Problems7 skill atoms
heap dumps with jcmd GC.heap_dump and Eclipse MATdominator tree for leak suspectsthread dumps and deadlock detectionJFR recordings in productionasync-profiler CPU and allocation flame graphstail latency and percentile thinkingclassloader leaks in redeployed applications
6AI Assistance at the Concurrency Edge7 skill atoms
the assistant writes plausible but racy codemissing happens-before reasoning in generated locksconfident but wrong advice on virtual thread pinningusing AI to explain a thread dump then verifying against the sourcejcstress and stress tests as the real arbiterGC tuning suggestions that ignore your allocation profilecorrectness under concurrency remains an engineering judgement
Where it fits

DEV-202 in a role journey.

This course appears in 1 of our 45 role journeys. Here is what a learner takes immediately before and after it in each.

Java Developer

Professional stage
DEV-401DEV-202DEV-203

Roles this course serves

The capability ladder

This course is authored to band B4.

Every course we run is written to one rung of the CASI ladder, so a plan can be assembled to take a team from where they are to where they need to be.

What do B1–B6 mean?The CASI Capability Ladder — click to expand

Every course targets a band on the CASI Capability Ladder — our six-band proficiency scale, anchored to open standards (O*NET, ESCO, NICE, NIST AI RMF, Bloom's). A band tells you how deep a course goes, and what evidence proves it.

What the learner can doTypical evidence
B1
AwareUnderstands concepts and vocabulary; uses tools with guidance
Knowledge checks
B2
FoundationPerforms standard tasks correctly in familiar contexts
Guided labs, autograded exercises
B3
PractitionerDelivers complete pieces of work independently
Scenario labs, proctored hands-on exams
B4
ProfessionalHandles production-grade complexity, trade-offs and failure modes
Break-fix drills, design defenses
B5
AdvancedEngineers systems end-to-end under constraints; leads others
Rubric-scored capstones, vivas
B6
ExpertSets direction; recognised authority across teams
Portfolio + panel evaluation

A note on B6. Courses in this catalog target B1–B5. B6 is not taught — it is recognised, through a portfolio and a panel, once someone is setting direction for others. Every journey here is built to land a learner at B5.

Next step

Run DEV-202 for your team.

This course runs at several lengths depending on how deep you need to go and how much of it your people already have. Tell us who is being trained and we will scope it.

Add it to a training plan Talk to our team Check your team’s level free