November 21 – 23, 2014 Marriott Denver South Denver, Colorado
Azul VM Engineer Douglas Hawkins will be speaking:
Date: November 22 Time: 11:00 AM – 12:30 PM Location: Salon B Topic: Java Optimizations that Matter (and Some That Don’t) Abstract: Early releases of Java performed poorly, but those issues largely disappeared long ago with the introduction of HotSpot. However, much of the performance advice for Java persists through hearsay from those early days. In this talk, we’ll forget the hearsay and take an objective look using benchmarking and profiling tools to find out which optimizations matter today and just as importantly those that don’t.
Date: November 22 Time: 1:30 – 3:00 PM Location: Salon B Topic: JVM Mechanics Abstract: HotSpot promises to do wonders for us by Just-in-Time (JIT) compiling the “right” code for us, but how does it makes those decisions? And, perhaps more importantly, what happens when it’s wrong? In this talk, you’ll learn through real code examples just how the JVM decides to compile your code, deoptimize your code, and stop-the-world for a GC.
Date: November 22 Time: 3:15 – 4:45 PM Location: Littleton A Topic: What’s in a Type? A Mathematical View of the Java Type System Abstract: Over the years, Java developers have learned through trial-and-error the best ways to use Java’s type system. But certain parts of the type system like wildcard generics and covariant return types are under used; in-part, because they are not well understood. Fortunately by going back to the mathematical roots of type systems, we can understand not only wildcard types and covariance, but also why we should prefer composition over inheritance and even how compilers perform some of their optimization magic.
Date: November 23 Time: 9:00 – 10:30 AM Location: Lonetree Title: Understanding Garbage Collection Abstract: Most of us don’t want to go back to the days of malloc and free, but the garbage collector isn’t always our friend. In this presentation, you’ll learn about the different garbage collection strategies used in JVMs, how to monitor garbage collection, analyze memory dumps, and why you might want to use one collection strategy instead of another.