advanced~3h

GraalVM and Modern JVM Choices

A practical look at ahead-of-time compilation with GraalVM native-image versus the standard JIT, the startup-time and memory tradeoffs that decide which one a team should actually ship, and a short survey of other modern JVM options (checkpoint-restore, alternative JVM implementations) worth knowing about even if you never reach for them.

Learning objectives

  • Explain the structural difference between the JIT's just-in-time compilation and GraalVM native-image's ahead-of-time compilation
  • Articulate the startup-time/memory versus peak-throughput tradeoff between native-image and a warmed-up JIT
  • Identify concrete scenarios (serverless functions, CLI tools, aggressively autoscaled containers) where native-image is the right call
  • Identify concrete scenarios (long-running, high-throughput services) where the standard JIT still wins
  • Describe what CRaC (checkpoint-restore) and OpenJ9 offer as alternative answers to the same startup problem

This is a Pro chapter

Sign in, then upgrade to Pro or Power to unlock this and the full Core Java Mastery library.

GraalVM and Modern JVM Choices

Next Step

Continue to Coding Choices That Move the Needle →← Back to all JVM Performance Engineering chapters