Speaker Details

Per Minborg
Oracle, Inc

Per Minborg works in the Java Core Library team at Oracle and is also a member of the Panama project team. He is an inventor and developer with more than 20 years of Java coding experience. He has been a frequent contributor to various open-source projects, is a regular speaker at events, Oracle JavaOne alumnus, and co-author of the publication Modern Java.

Java is constantly evolving in terms of performance, allowing unchanged application code to run faster and faster with each new Java release.

In this talk we will take a closer look at five recent performance improvements made in the JDK involving both the standard Java libraries, the JIT compiler, and in garbage collectors. We will explore some of the design considerations made and how performance is evaluated by the JDK developers in a world of conflicting optimization criterion and varying platform properties,

One of the five improvements under the microscope is the newly introduced “MergeStore” feature of the JIT-complier allowing several write operations to an array to be merged into one single bulk operation. We will learn how this feature works, how much performance can improve, and how your code can take advantage of it by avoiding common pitfalls that would otherwise disable the feature altogether.

More

New features are added to the JDK with each release and some of these features are worked on in a way that is not so obvious to all Java developers. In this talk, we will demystify the work that is going on in two different efforts to make Java even better: StableValues and SegmentMapper.

Some internal JDK classes are relying heavily on the annotation `jdk.internal.vm.annotation.@Stable`

to mark scalar and array fields whose values or elements will change *at most once*, thereby providing

crucial performance, energy efficiency, and flexibility benefits. 

But the powerful @Stable annotation cannot be used directly in Java applications thereby severely restricting its applicability. The StableValue rectifies this imbalance between internal and client code by providing safe wrappers around the `@Stable` annotation. Hence, all the important benefits of `@Stable` are now made available to regular Java developers and third-party library developers.

The Foreign Function & Memory API (the FFM API), introduced in Java 22, provides access to structured memory. Sadly, only access to primitive values like `int` and `long` were available. SegmentMapper fixes this shortcoming and allows structured memory to be mapped to standard Java composites like `record` classes, thereby significantly improving the versatility of the FFM API.

More

Project Leyden aims to improve the startup time, warmup time, and footprint of Java applications by enabling developers to shift computation forward and backward in time. In this joint talk, we’ll dive into what that means, review recent progress, and see a concrete use case and performance metrics with some typical Spring applications.

Learn how to cut the startup time into half already today and see how that could be improved even more in the coming Java versions!

More
Ask the Architect
Conference (BEGINNER level)

Ask them anything related to the Java language with the Oracle engineers making it happen!

More

Searching for speaker images...