~/talk

From Java to Assembly: Down the Rabbit Hole

Talkat Joker 2016 · 2016-10-14..10-15· [java, compilers-and-language-design]
slides:none on file

Walks a simple Java method from javac bytecode through HotSpot JIT into native assembly using javap plus HotSpot flags like printCompilation and printInlining and the external printAssembly plugin. Shows hello world producing thousands of assembly bytes, a tiny 1+1 method optimized away, how final versus lazily initialized finals differ, how synchronization emits a native lock instruction, how string switch becomes a hash lookup then a table switch, how invokedynamic and LambdaMetafactory create lambdas, and how a volatile write in JRuby causes a measurable 2x speedup when removed.

AI-written summary · about

  1. 0:00Introduction and speaker background
  2. 13:21JVM internals primer
  3. 23:50Hello World bytecode to assembly
  4. 30:54Final fields and synchronization
  5. 43:32String switch and lambda expressions
  6. 58:36Performance insights and takeaways
  7. 1:01:24Q&A session
~/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.