Jose is a Java Developer Advocate at Oracle. Java Champion Alumni, he has been working as an assistant professor at the University Sorbonne Paris Nord for 25 years. He also worked as a consultant for many companies in the Paris area. He has been co-organizing the Paris JUG for more than 10 years, publishes the JEP Café on YouTube, and Java courses for Pluralsight. He a regular speaker at many conferences: Devoxx, JavaOne, OracleCodeOne, JFokus, DevNexus.
The Loom project has been under work for several years now. Preview versions are available, that give an idea of what it will bring to the Java platform. We can see what patterns we will be able to use, and the performances it will bring. Our good old Threads, created more than 25 years ago, will see a new kind of lightweight threads. Creating a thread will be easier and much cheaper, allowing the creation of millions of them in a single JVM. These new virtual threads bring with them new notions, that will be covered in this talk. You will see structured concurrency, reactive and asynchronous programming, how you can create actors on this new concurrent programming model. You will learn about ScopeLocal, a new way of dealing with ThreadLocal variables, about StructuredExecutor, and about synchronization. A lot of code is shown in this presentation, you will see how Loom can change the way you write your code, the performance gains you may expect, both in your application and for the Java Virtual Machine itself.
Features released in Java in the last year have brought greater opportunities for developers to improve application readability, maintainability as well as development productivity.
In this hands-on lab, you will have a chance to discover Java 17 and use some of the most recent Project Amber language features added to the Java platform such as Records, Switch Expression, Pattern Matching for instanceof, Pattern Matching for switch (as a preview feature), Sealed Classes, ..., as well as get a chance to understand strong encapsulation.
Furthermore, you will also test-drive some of the newest JDK features such as Context-Specific Deserialization Filters (JDK 17), Simple Web Server, Code Snippets in Java API Documentation, Deprecate Finalization for Removal (JDK 18), etc.