~/talk

Rethinking Java String Concatenation

Talkat JVM Language Summit 2024 · 2024-08-05..08-07· [java]
github:cl4es
slides:none on file

A prototype keeps the JEP 280 design but replaces large method‑handle expression trees with generated helper classes using the Class‑File API and hidden classes, plus a reference‑key cache to avoid one‑class‑per‑site explosion. The result matches throughput while cutting startup and warmup: earlier enumeration produced ~40,000 generated classes (later reduced to ~3,000); a 100‑argument case drops from ~160 classes to one; microbenchmarks show roughly 40% startup reduction and parity in steady‑state. Works as a near‑drop‑in replacement for the current JDK path JDK 23.

AI-written summary · about

  1. 0:00Introduction and challenges
  2. 4:11Current implementation basics
  3. 7:30Method handles explained
  4. 13:44High-arity fallback
  5. 15:23Performance and scalability
  6. 21:39Potential solutions and Leyden
  7. 26:07New prototype approach
  8. 33:46Prototype results and future
  9. 38:59Key takeaways and outlook
  10. 43:36Q&A and discussion
~/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.