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.
Alex Blewitt introduces the history behind Swift, why it was created, how it differs from Objective-C and how Swift is compiled and executed under the covers.
Adam Wick explains the promise of unikernels (single-purpose, lightweight virtual machines) and shares experiences about when unikernels are appropriate solutions and when they are not.
Luís Pina, Luís Veiga, Michael Hicks introduce Rubah, a method for dynamically updating applications running on the JVM.
Viktor Klang shows the purpose and power of streaming concurrent data processing with safe bounds using back pressure, discussing Akka streams and dynamic runtime as well as compile time optimizations
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.
Gil Tene introduces org.ObjectLayout and StructuredArray, the APIs and design considerations that allow Java JDKs to match C on data structure access speeds.
The session covers various GC tuning techniques, in particular focusing on tuning large scale JVM deployments and showing how to optimally size a platform for enhanced memory consumption.
Ovidiu Dimulescu provides tips for working with local and remote JVMs, startup flags, analyzing and correlating thread dumps with CPU consumption, instrumentation, multi-tenant JVMs, memory games, etc