Charlie Hunt explains the three performance attributes of throughput, latency and (memory) footprint and how each of these are influenced in terms of JVM garbage collection.
Norman Maurer presents how Apple uses Netty for its Java based services and the challenges of doing so, including how they enhanced performance by participating in the Netty open source community.
Tal Weiss shows how you can easily write your own JVM agent to capture accurate performance data for virtually any type of application from Java microservices to reactive actor systems in Scala.
Emad Benjamin covers various GC tuning techniques and how to best build platform engineered systems; in particular the focus is on tuning large scale JVM deployments.
Jessica Kerr covers some of the concurrency tools existing in JVM languages including ExecutorService, Futures, Akka actors, and core.async coroutines, providing advice on writing deadlock-free code.
Sebastian Zarnekow discusses JVM internal optimizations, presenting how the JVM sees through code to apply techniques like inlining, loop unrolling and escape analysis at runtime.
Alex Heusingfeld, Martin Eigenbrodt discuss some of the challenges creating microservices on JVM stacks with examples using Dropwizard, Spring Cloud and Play2 Scala.
Marc Hoffmann explores the technical details of compiled lambda expressions and method references which come with several performance benefits and could also be used for other JVM languages.
Gil Tene introduces org.ObjectLayout, a new Java package designed specifically to enable JVMs to optimize memory layout for arrays and objects matching the performance of arrays of structs in C.
Luís Pina, Luís Veiga, Michael Hicks introduce Rubah, a method for dynamically updating applications running on the JVM.
Jonathan Bell & Gail Kaiser introduce Phosphor, a dynamic taint tracking system for the JVM, describing the approach used to achieve portable taint tracking.
Earl Barr, Mark Marron discuss building time-travel debuggers for managed languages, implemented with Tardis, and enabling developers to investigate what happened prior hitting a bug.