Release timeline
Scroll the Java history from 1.0 to current releases. Select an LTS milestone to open its flag graph or evolution view.
An interactive catalog and learning site for HotSpot JVM command-line options across long-term support (LTS) Java releases.
JVM Flags helps developers, operators, and students discover, compare, and understand JVM flags without digging through long manual pages for every release. The site maps each flag to a taxonomy of domains and categories (memory, garbage collection, JIT, diagnostics, and more) and shows how the option surface changes between Java versions.
The project pairs a static website in docs/ with a Maven test suite that
verifies catalog entries against a real JDK. Flag data lives in versioned JSON graphs
under json-graph-generator/src/main/resources/ and is published to docs/json/ for the
browser.
Catalogs target Oracle HotSpot on these feature releases. LTS releases are highlighted on the home timeline and are the primary focus for learning and production tuning.
| Release | Flags in catalog | Explore |
|---|---|---|
| Java 8 LTS | 723 | Flag graph |
| Java 11 LTS | 654 | Flag graph |
| Java 17 LTS | 542 | Flag graph |
| Java 21 LTS | 520 | Flag graph |
| Java 25 LTS | 505 | Flag graph |
Vendor builds (GraalVM, Eclipse Temurin, etc.) may differ slightly; always confirm critical flags on the JDK you run in production.
Scroll the Java history from 1.0 to current releases. Select an LTS milestone to open its flag graph or evolution view.
Zoom and pan a D3 tree of domains, categories, and flags. Switch to table view, expand or collapse branches, and open any flag for a short description.
Pick a flag and see which Java versions recognize it, with availability and category changes over time.
Read the catalog description and copy a research prompt to look up deeper documentation in your preferred assistant or search tool.
Start from a production scenario, then open a focused recipe with command examples and the flags that matter most.
Practice with twenty random questions drawn from the Java 25 catalog. Score at least 70% to pass and review missed flags afterward.
Flag names, categories, and descriptions are aligned with Oracle’s official HotSpot
documentation for each release (the java command reference, GC tuning guide,
and troubleshooting guides). The Maven module jvmflags runs parameterized
tests that launch java … -version with each testable flag so the catalog
reflects what the running JDK actually accepts.
testValue and requires metadata so verification stays accurate.java-*.json file honest.Source code and issue tracking: github.com/jabrena/jvm-flags.