~/talk

Project Leyden's AOT - Shifting Java Startup into High Gear

Talkat JavaOne 2025 · 2025-03-18..03-20· [java]
slides:none on file

Project Leyden shifts class loading, linking and early JIT work out of startup by recording a training run (-XX:AOTMode=record), running an assembly phase to produce an AOT cache that preloads linked classes and resolved call sites, and optionally preloads profiles for ahead‑of‑time compilation. Delivered in JDK 24 (JEP 483), this three‑phase flow yields about 2.5–3x startup improvement on demo microservices, requires loading classes in bulk, remains speculative with JIT fallback, and preserves full Java dynamic semantics.

AI-written summary · about

  1. 0:00Project Leyden's AOT intro
  2. 1:05Java startup importance
  3. 2:51Java dynamic vs static
  4. 7:54Startup costs of Java
  5. 12:08Speculative optimization training
  6. 18:09Pre-main AOT cache
  7. 21:40Symbolic references ahead-of-time
  8. 23:49JDK 24 AOT workflow
  9. 25:15Startup with AOT cache
  10. 26:59Profile gathering for AOT
  11. 30:07JIT speculative optimization
  12. 31:10AOT compilation options
  13. 33:16AOT tiers and barriers
  14. 36:27AOT compatibility limits
  15. 37:09AOT training feedback
  16. 41:19AOT security
  17. 44:33Why training runs matter
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.