Skip to content

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.

9 lessons

Course Q&A

The JVM Under Your Code

Bytecode, JIT, GC, and the memory model — the runtime model every production decision sits on.

  1. 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
  2. 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
  3. 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.

  1. 01Thread Pools and CompletableFuture: Concurrency Without Raw ThreadsExecutorService knobs that matter, backpressure, and composing async work without shooting your foot.25mMembers
  2. 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
  3. 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.

  1. 01Dependency Injection Without the MagicConstructor wiring, composition roots, and when Spring's container actually earns its keep.30mPremium
  2. 02Java Deserialization: The RCE Primitive That Won't DieHow readObject became arbitrary code execution, gadget chains, and JEP 290 filters.30mPremium
  3. 03Jackson Done Safely: Polymorphism, Records, and Dependency DriftDefault typing's CVE history, sealed-type DTOs, validation at the boundary, and databind hygiene.35mPremium