Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the inner workings of Java program execution in this 41-minute Devoxx conference talk. Delve into the transformation process from Java source through bytecode and machine code to microcode, uncovering the various optimizations that occur along the way. Learn about tools and techniques for tracing the path of execution, and discover how the instructions actually executed may differ significantly from the original program. Gain insights into Java to Bytecode conversion, JIT optimizations, memory hierarchy, stride prefetching, and data-dependent loads. Examine the impact of inlining and cache-friendliness on program performance, and understand how to measure these factors. Conclude with an exploration of primitive arrays and guidance on further investigation into Java program execution.
Syllabus
Intro
Maurice Naftalin
What Lies Beneath
Java to Bytecode
java ... -XX:+PrintInterpreter
Improving Our Program...
Without Inlining (-XX:-Inline)
JIT Optimisations
A Pile of Cache...
The Memory Hierarchy
Stride Prefetching
Data-Dependent Loads
Measuring Cache-Friendliness
Primitive Array
Conclusions
Digging Deeper...
Taught by
Devoxx