~/talk

An Introduction to JVM Performance

Talkat Devoxx Belgium 2017 · 2017-11-06..11-10· [java]
slides:none on file

Explains how Oracle’s HotSpot turns bytecode into machine code via HotSpot C2 compiler and tiered JIT (interpreter → C1 → C2), why the JVM profiles at runtime and needs about 10,000 warmup runs before C2 kicks in, and how dispatch kinds—monomorphic, bimorphic, megamorphic—drive inlining and big optimizations. Gives concrete pitfalls: double-brace initialization can trigger megamorphism and cost ~90% in one case, recommends use of JMH and warmups, and highlights escape analysis and vtable dispatch details.

AI-written summary · about

  1. 0:00Introduction
  2. 1:00Disclaimer
  3. 2:23The Java Program Model
  4. 4:34Hotspot
  5. 13:55Overview
  6. 15:38Callside
  7. 17:16Virtual Method Table
  8. 19:47Caches
  9. 20:54Monomorphic
  10. 23:07Mono and Megamorphic
  11. 27:11Inlining
  12. 29:33Double braced initialization
  13. 32:12Micro optimization
  14. 33:42Loop unrolling
  15. 36:35Hidden classes
  16. 42:38Escape Analysis
  17. 44:44Dead Code Elimination
~/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.