Learning paths · Skills · Intermediate

Java: how the JVM runs your code

What happens after javac: bytecode, class loading, the JIT, the heap and its collectors, and how threads (platform and virtual) see each other's writes.

0 of 12 done

The map

  • Not started
  • In progress
  • Done
  1. 01From source to running codeBytecode, loading, the JIT0/4
  2. 02Objects and typesHeap, collectors, generics, collections0/5
  3. 03Many things at onceMemory model to virtual threads0/3
  4. 04Next: system designSame ideas, at service scale

Everything here is about Java 21, the current long-term-support release. Where a behaviour belongs to HotSpot (the JVM in OpenJDK and Oracle's JDK) rather than to the Java Language Specification or the JVM Specification, the topic says so.

Where this path leads