jokerconf Joker 2014 (20.10.2014 — 21.10.2014)

The Illusion of Execution


Contrary to our intuitions, the execution of our software is far from the continuous and sequential mental model we use when reading and writing code. In this talk we will discuss the gap between this model and the reality of the average Java application:

  • Placing the Java process in the stack: HW (real/virtual)/OS/Process

  • The other threads in your process

  • When the JVM stops (and the promise of a "pause free JVM")

  • Open to interpretation: from your code to assembly

  • The pause button: Safepoints in your code

  • Pointer accounting: store barriers and load barriers in your code