Course
Java: Enterprise Foundations That Last
Modern Java for real systems: the JVM mental model, concurrency from thread pools to virtual threads, DI without magic, and the deserialization risks that still burn enterprises.
The JVM Under Your Code
Bytecode, JIT, GC, and the memory model — the runtime model every production decision sits on.
- 01The JVM Contract: Bytecode, JIT, and What Java Actually Compiles ToWhy Java compiles twice, what the JIT is really doing at warmup, and reading your own bytecode with javap.20mOpen
- 02Memory, Garbage Collection, and Reading a Running JVMHeap layout, metaspace, jcmd/jstat/JFR, and the dump-you-take-before-you-need-it diagnostic loop.25mOpen
- 03The Java Memory Model: Visibility and Happens-BeforeWhy 'it works on my machine' isn't evidence — volatile, safe publication, and the bugs timing hides.30mMembers
Concurrency and Collections in Production
Executors, virtual threads, and stream pipelines that stay readable — without the footguns.
- 01Thread Pools and CompletableFuture: Concurrency Without Raw ThreadsExecutorService knobs that matter, backpressure, and composing async work without shooting your foot.25mMembers
- 02Virtual Threads: Java 21's Answer to the I/O WallLoom changes what a thread costs — millions of blockable threads, the pinning trap, and what doesn't change.20mMembers
- 03Streams and Collections: Pipelines That Don't Bite BackImmutable factories, honest stream usage, Optional boundaries, and the parallelStream trap.25mMembers
Boundaries: Wiring and Untrusted Data
Dependency injection as a pattern, and why serialization is still Java's classic RCE path.
- 01Dependency Injection Without the MagicConstructor wiring, composition roots, and when Spring's container actually earns its keep.30mPremium
- 02Java Deserialization: The RCE Primitive That Won't DieHow readObject became arbitrary code execution, gadget chains, and JEP 290 filters.30mPremium
- 03Jackson Done Safely: Polymorphism, Records, and Dependency DriftDefault typing's CVE history, sealed-type DTOs, validation at the boundary, and databind hygiene.35mPremium