~/talk

The Hidden Dynamic Life of Java

Talkat J-Fall 2023 · on Thursday, 2023-11-09· [java]
links:none on file
slides:none on file

Java increasingly uses invokedynamic (introduced in JDK7) so the JVM links actual call targets at runtime via a bootstrap method that returns a method handle. Concrete uses include string concatenation choosing a fast concat strategy, pattern‑matching switches returning an index for jump tables, and lambda bodies creating synthetic classes only when hit at runtime. This reduces classfile bloat and allows post‑compile implementation changes (seen between JDK21 EA and release) but can alter allocation and performance.

AI-written summary · about

  1. 0:00JVM and multi-language support
  2. 1:05Statically vs dynamically typed languages
  3. 2:52Workarounds for dynamic typing on JVM
  4. 3:53InvokeDynamic instruction explained
  5. 7:03InvokeDynamic in Java itself
  6. 7:24String concatenation optimization
  7. 9:56Pattern matching in switch
  8. 11:19Lambdas and runtime class generation
  9. 13:04Benefits of InvokeDynamic in Java
  10. 14:04Performance and predictability trade-offs
~/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.