From Azul Systems
Doug is a lead JIT developer at Azul Systems where he's worked for the past 5 years. While at Azul, Doug has focused on performance trade-offs related to speculative optimizations and created ReadyNow: Azul's solution to Java's warm-up problems.
In addition to working on JVMs, Doug worked previously as a Java developer for 10 years. This uncommon combination of experiences gives Doug an interesting view of Java from inside and out.
Java developers are often exposed to the inner-workings of JVM's garbage collectors, and there are a host of tools that help monitor garbage collector activity.
But less often seen are the inner machinations of just-in-time compilation and deoptimization -- and how those machinations impact application performance.
In this talk, we'll learn how to read some of the JVMs mysterious log files, explore tools for visualizing the information, and most importantly correlate the JVM activity with application performance behavior.
Everyone worries about performance but few of us have the time to truly understand it. Last year's talk exposed some puzzling results in Java 7 and 8, but the Java language, APIs, and JVMs keep evolving.
In this presentation, we'll take a look at some surprising and often unintuitive performance problems and solutions, but with an emphasis on comparing newer language features and APIs to their old counterparts.
Not simply with the goal of determining which looping style is best, but also with the aim to better understand the complexity that lies inside the JVM.