Simon Ritter is the Deputy CTO of Azul Systems. Simon has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K. Simon joined Sun Microsystems in 1996 and started working with Java technology from JDK 1.0; he has spent time working in both Java development and consultancy. Having moved to Oracle as part of the Sun acquisition, he managed the Java Evangelism team for the core Java platform. Now at Azul, he continues to help people understand Java as well as Azul’s JVM technologies and products. Simon has twice been awarded Java Rockstar status at JavaOne and is a Java Champion. He currently represents Azul on the JCP Executive Committee and on the Java SE Expert Group.
Getting the best performance out of your Java applications can often be a challenge due to the managed environment nature of the JVM and the non-deterministic behaviour that this introduces.
This session will start by looking at what we mean by speed and how the JVM, whilst extremely powerful, means we don’t always get the performance characteristics we want. We’ll then move on to discuss the three critical features of the Zing JVM that address these issues:
1. The C4 garbage collector, which eliminates GC pauses that affect the performance of an application even after all hot code paths have been compiled and optimised.
2. The Falcon JIT compiler that leverages the LLVM open source project to provide optimisations specific to the newest CPU architectures using features like AVX2.
3. ReadyNow!, which allows details of speculative optimisations and JIT profiling to be logged on production systems. ReadyNow! profiles can then be used to substantially reduce the warmup and deoptimisation issues that affect performance when restarting an application.
Scheduled on Friday from 17:50 to 18:40 in Stream 1
Local variable type inference was introduced as a new Java language feature in Java SE 10. Gone are the days of explicitly having to define the type of a variable; let the compiler do it for you with the magic of var!
At first sight, this looks like a small change that will eliminate unnecessary boiler-plate code and reduce how much typing (on the keyboard) is required to maintain strong typing (of the language). However, as with many features, there are some unexpected nuances as well as both good and bad use cases.
In this session, we’ll explain the fundamentals of local variable type inference. We’ll then take a series of examples of the use of var and discuss the technical merits of each case.
Scheduled on Friday from 16:45 to 17:35 in Stream 1
It's gonna be Pannel Discussion with Java Champions that contributed a lot in moving Java forward and inspiring lots of other Developers across Java Communities around the world. We are going to talk about Java past, present and future and will try to find out how Java managed to stay so popular and strong for already 25 years! We want to make this session interactive. So come and join our conversation!
Scheduled on Saturday from 16:30 to 17:20 in Stream 2