Value types and Pattern matching: bringing your data back on stage
Deep Dive (INTERMEDIATE level)
Room 8

Data modeling is one thing in Java that didn't change much in the last 20 years when generics and enumerations were introduced. Things are changing on two fronts. On the one hand, Valhalla is bringing Primitive Classes and Value Classes, bringing new ways for the JVM to layout your objects in memory, in order to get better performances. On the other hand, the Amber project brings back data at the center of your applications: Records bring better modelization, and along with Pattern Matching and Sealed Types, they also bring new ways to organize your business processes. In the future, Valhalla will unify object types and primitive types, with better handling of null values. Amber will continue to develop pattern matching, with deconstructors for regular classes and named patterns. These new approaches will bring new ways to better organize your applications, and to better create independent modules. The new data types Valhalla will bring you will allow you to create your object model in a different way, to get better performances for your in-memory computations. Expect to see a lot of code in this deep dive session, with new patterns, and performance considerations.
José Paumard
José works as Java Developer Advocate at Oracle. PhD in applied maths and computer science, assistant professor at the University Sorbonne Paris Nord for 25 years, he is a Java Champion Alumnus and JavaOne Rockstar. He is a member of the french Paris Java User Group, has been a co-organizer of the conference Devoxx France, and is a disorganizer of JChateau, an unconference held in the Chateau of the Loire Valley. He works on the documentation and community website, publishes the JEP Café, a monthly video cast on YouTube, and maintains a french YouTube channel with more than 80 hours of Java courses. He is also a Pluralsight author in the Java space.
Remi Forax
Université Gustave Eiffel
I'm a tenured assistant professor at Université Gustave Eiffel (near Paris France).
I worked on writing the spec (and sometimes small part of the implementation) of invokedynamic and the package java/lang/invoke, the new string concatenation, lambdas, modules to Java. I'm currently working on the OpenJDK projects Amber (record, sealed types, pattern matching) and Valhalla (value types and specialized generics).
I've spoken to numerous conference in France, Europe and in the US.