Speaker details

Simon Ritter

Azul Systems

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 represents Azul on the Java SE Expert Group, OpenJDK Vulnerability Group and Adoptium Steering Committee.

AOT or JIT: Faster Startup or Faster Code?

Microservices have become a prevalent architectural approach to developing applications. Moving from a monolithic application to multiple container-based services has many advantages. One of the largest is dynamic scalability; spinning up and shutting down instances of services to adapt to dynamic loads is very cost-effective in a public cloud environment.


For JVM-based applications, running in a managed environment using JIT compilation, this provides additional challenges. Primarily, this is around the time required for a service to warm up and reach the optimum level of performance. To address this, we have seen various approaches such as the Graal VM and Quarkus that use an AOT approach rather than JIT compilation.


In this session, we will explore the pros and cons of both approaches to help in understanding the tradeoff between initial performance and overall

performance. At the end of the session, you will have a clear idea of how to approach your Java microservice design from the AOT and JIT perspective.

Containerized Microservices

Get Ready for the Next LTS Java

With the release of JDK 17, all OpenJDK distributions will be providing long-term support (LTS) for this version of the Java platform. Many Java users currently running on JDK 8 or JDK 11 will want to migrate their production environments to JDK 17. This will enable them to take advantage of the numerous new features and enhancements made possible by the six-month release cadence introduced in 2017.

This session will provide details of changes to the Java platform covering JDK 12 to 17. Although many things have been added, some have also been removed. We'll highlight these things and explain how they may impact application migration.

We’ll cover all aspects of the JDK: the Java language, core APIs, the JVM and tooling and other JDK-specific features.

Key language features we’ll cover are:

  • Switch expressions (JDK 12)
  • Text blocks (JDK 13)
  • Records (JDK 14)
  • Pattern matching, for instanceof (JDK 14)
  • Sealed classes (JDK 15)
  • Pattern matching for switch (JDK 17)

On the API side we'll look at the following in detail:

  • Foreign-Memory Access API (JDK 14)
  • Vector API (JDK 16)
  • UNIX Domain Socket Channels (JDK 16)
  • Foreign Linker API (JDK 16)

By the end of this session, you’ll be all set to take advantage of the modern Java features!