Java Champion Simon Ritter - Art of Java Pattern Matching and Java on CRaC Talks

Details
Hi Everyone,
Liberty IT are very kindly going to sponsor this event, so join us from 6:30 at the Clayton Hotel for some finger food and drinks before the talks!
We're excited to bring you another fantastic speaker. Join us on June 30th (venue to be confirmed) for 2 talks by Java Champion Simon Ritter:
# SESSION ABSTRACTS
19:00 The Art of Java Language Pattern Matching
The goal of project Amber within OpenJDK is to explore the inclusion of smaller, productivity-oriented Java language features. One part of this that has delivered new functionality in recent versions is pattern matching.
Pattern matching is where application logic combines testing if an expression has a specific type or structure and then extracting components of its state for processing.
In JDK 14, JEP 305 introduced pattern matching for instanceof, as a preview feature and was made a full feature in JDK 16. This simplifies the use of this operator by eliminating the need for an explicit cast and assignment. In JDK 17, JEP 406 added pattern matching for switch. It is now possible to include patterns in switch case labels.
In this session, we’ll look at the details of these two new language features, as well as a more general look at pattern matching. We’ll also explore future features in this area, such as record patterns (scheduled for JDK 19) and array patterns, which may be included in a subsequent Java release.
By the end of the session, you’ll be all ready to make use of these powerful new features.
20:30 Java on CRaC: Superfast JVM Application Startup One of the key benefits of a microservice architecture is the ability to dynamically respond to changes in load by spinning up new instances as required. However, when deploying JVM-based services, the warmup time of JIT compilation can be a limitation on the effectiveness of this technique.
One approach to solving this problem is using native images, where the service is statically compiled using an ahead-of-time (AOT) compiler. Although this does reduce startup time and footprint, it does so at the cost of overall performance.
A new project has been proposed and accepted into OpenJDK called CRaC (Coordinated Restore at Checkpoint). The goal is to research the co-ordination of Java programs with mechanisms to checkpoint (snapshot) a running application. Restoring from the snapshot could solve some of the problems with the startup and warmup times, especially in microservices.
In this session, we’ll look at the main challenges for such a project, potential solutions and the results from a proof-of-concept implementation.
About Simon Ritter Simon joined Sun Microsystems in 1996 and spent time working in both Java development and consultancy. He has been presenting Java technologies to developers since 1999 focusing on the core Java platform as well as client and embedded applications.
Simon is now the Deputy CTO of Azul Systems where he continues to help people understand Java and Azul’s JVM products. He represents Azul on the JCP Executive Committee as well as the JSR Expert Groups for Java SE 9 and later.
Find him on Twitter @speakjava
COVID-19 safety measures

Java Champion Simon Ritter - Art of Java Pattern Matching and Java on CRaC Talks