JVM Language Summit 2025
2025-08-04..2025-08-06
Santa Clara, United States
[JVM Language Summit 2012, JVM Language Summit 2015, JVM Language Summit 2017, JVM Language Summit 2018, JVM Language Summit 2019, JVM Language Summit 2023, JVM Language Summit 2024, JVM Language Summit 2025]
who it's for
language designers, compiler developers, runtime engineers, performance engineers, JDK maintainers, Kotlin developers, Clojure developers
topics
value classes heap flattening (JEP 401); ahead-of-time class loading and caches (Project Leyden); auto-vectorization in HotSpot; hardware intrinsics via Project Panama; off-CPU profiling and latency diagnostics; virtual threads for core.async (Clojure); ZGC pointer coloring and generational bits; parametric JVM and reified generics; symbolic in-memory Java code model (Project Babylon); support for additional numeric types (float16 work); type-class style operator overloading for Java; SuperWord SIMD packing and vectorization
| title | author | length |
|---|---|---|
| The Static Dynamic JVM – A Many Layered Dive | John Rose | 01h 01m |
Claims that the JVM reduces runtime chaos by turning observed behavior into static decisions and shows concrete mechanisms: Leiden AOT cache runs bootstrap… | ||
| Symbolic Modeling and Transformation of Java Code | Paul Sandoz | 25m |
Project Babylon represents Java programs as an in-memory code model: a tree of operation, body, and block nodes in SSA form with block parameters, explicit… | ||
| Off-CPU Profiling & Latency Diagnostics in Java | Yude Lin | 42m |
A new profiler captures full transactions end-to-end and reports percentile-latency plus a per-transaction breakdown into on-CPU time, scheduling delay, I/O… | ||
| Beyond the Vector API - A Quest for a Lower Level API | Vladimir Ivanov | 54m |
Proposal of a hardware intrinsics API exposes one-to-one machine instructions from Java via Project Panama, jextract and generated native libraries, aiming for… | ||
| Value Classes Heap Flattening - What to expect from JEP 401 | Frédéric Parain | 31m |
JEP 401 brings value classes that are identity-less and mostly immutable, enabling heap flattening that reduces headers and indirection to improve memory… | ||
| Assembling Project Leyden | Dan Heidinga | 46m |
Project Leyden delivers JDK 24’s ahead‑of‑time class loading/linking and JDK 25’s method profiling, producing a workflow that creates an AOT cache from a… | ||
| Evolving ZGC's Pointer Color Palette | Erik Österlund | 47m |
ZGC evolves from three persistent color bits plus one transient bit to a generational scheme using 12 transient bits, replacing multi‑map mappings with… | ||
| Better immutability in Kotlin with Valhalla | Marat Akhin | 47m |
Kotlin moves its immutable-data work onto Project Valhalla to get runtime-optimized, identity-less value types and multi-field scalarization instead of the… | ||
| Evolving Clojure with Virtual Threads | Alex Miller | 40m |
core.async originally compiles go blocks into state machines via the analyzer and go macro; the new implementation swaps that for virtual threads, keeping the… | ||
| Paths to Support Additional Numeric Types on the Java Platform | Joe Darcy | 55m |
Argues concrete paths: add language-level type-class operator overloading (homogeneous typing, monoid/field witnesses) and VM/library features to avoid… | ||
| Growing the Java Language | Brian Goetz | 01h 20m |
Proposes adding Haskell‑style type classes to Java by treating ordinary interfaces as type‑level “type classes” and declaring witness fields and methods that… | ||
| Auto-Vectorization in HotSpot | Emanuel Peter | 43m |
C2 uses the SuperWord algorithm to pack isomorphic, unrolled iterations into SIMD vectors and builds a dependency graph that separates data and memory edges so… | ||
| From Final to Immutable: The not-so-final word on `final` | Maurizio Cimadamore | 46m |
Explains concrete changes: a command-line permission and eventual errors stop reflective writes to final fields so JVM can treat them as immutable; introduces… | ||
| nothing matches | ||