A review of the past four years in the life of the OpenJDK Community, and a look at what’s ahead. Recorded at FOSDEM 2024. | Continue reading
The OpenJDK Quality Group is promoting the testing of FOSS projects with OpenJDK builds as a way to improve the overall quality of the release. This heads-up is part of a regular communication sent to the projects involved. To learn more about the program, and how-to join, please … | Continue reading
With the finalization of the Foreign Function & Memory API near us, we have spent the last few weeks polishing jextract. We have made several changes, from implementation-only ones (e.g. we now use string templates for all the code generation), to m… | Continue reading
This session discusses recent advancements in the Java programming language, and looks at what’s coming next. Recorded during Jfokus 2024. Make sure to check the show-notes. | Continue reading
Virtual Threads graduated to a permanent feature in JDK 21 with huge interest and uptake in the Java ecosystem. There’s a lot more to do! This session will go through the current efforts on Java monitors, I/O, and other areas that will improve this feature in future JDK releases. … | Continue reading
This post describes a case in a production compiler (C2, the JDK’s optimizing JIT compiler) where we have figured out that the right trade-off is to actually reduce the amount of program information fed to the compiler.... | Continue reading
Java 22 brings multi source-file execution to the platform. It allows us to run programs consisting of multiple source files and even dependencies with just a simple java command. For experienced developers, this will make exploration and experimentation simpler but it’s a real g … | Continue reading
In this article we will explain how to emulate aspects of C#’s Language Integrated Query (LINQ) in Java using Code Reflection. Specifically, LINQ’s capability to enable translation of LINQ queries (C# expressions) to SQL statements... | Continue reading
JNI is, to date, the only way to access native libraries from Java code, but JNI's brittle and convoluted programming model makes it tedious to use at scale. But no more: JDK's 22 Foreign Function & Memory API provides a safe, modern and efficient way to access foreign memory and … | Continue reading
In data-oriented programming (DOP), we model data as data and polymorphic behavior with pattern matching. This talk will introduce the concept of DOP and its four principles: model the data, the whole data, and nothing but the data data is immutable validate at the bounday make … | Continue reading
Embark on an exploration of Java 21’s groundbreaking features. From String Templates to Sequenced Collections, Generational ZGC to Structured Concurrency, this session empowers you to master the latest advancements and leverage them to create efficient, future-proof code. Record … | Continue reading
Another JDK release, another version of a post in this series: this time JDK 22 GA is almost here and so I am going to entertain you with latest changes for the stop-the-world garbage collectors for OpenJDK for that release. ;) | Continue reading
In this JEP Café, we will use a lot of the new features added to the JDK in the context of the Data Oriented Programming support: Records, Sealed Types, Pattern Matching, Unnamed Patterns, Exhaustive Switches, as well as the most recent additions to the Stream API: mapMulti() (fr … | Continue reading
In this article we will explain what is automatic differentiation, why it is useful, and how we can use Code Reflection to help implement automatic differentiation of Java methods... | Continue reading
The OpenJDK Quality Group is promoting the testing of FOSS projects with OpenJDK builds as a way to improve the overall quality of the release. This heads-up is part of a regular communication sent to the projects involved. To learn more about the program, and how-to join, please … | Continue reading
Java 21 is here and with it exciting times for the Java ecosystem. Georges Saab, the SVP of Java development at Oracle and Chair of the OpenJDK Governing Board will reflect on the factors that have brought a new wave of enthusiasm for Java and why the future is bright for this pe … | Continue reading
Whether for validation, preparation, or splitting and sharing arguments, it can be quite annoying that Java doesn’t allow statements before the super(...) or this(...) call in a constructor. Luckily Java 22 is about to change that with JEP 447, which previews statements before th … | Continue reading
The OpenJDK Quality Group is promoting the testing of FOSS projects with OpenJDK builds as a way to improve the overall quality of the release. This heads-up is part of a regular communication sent to the projects involved. To learn more about the program, and how-to join, please … | Continue reading
The following JEP is proposed to target JDK 23: 455: Primitive Types in Patterns, instanceof, and switch (Preview)… | Continue reading
The following JEP is targeted to JDK 23: 455: Primitive Types in Patterns, instanceof, and switch (Preview)… | Continue reading
In 2024, Java keeps evolving. Let’s see what the OpenJDK projects Amber, Babylon, Leyden, Lilliput, Loom, Panama, and Valhalla plan for this year and how that will push Java forward. Whether pattern matching or other language improvements, interaction with foreign code, memory, o … | Continue reading
Whether you are a beginner or senior Java developer, you strive to accomplish ambitious goals through your code while enjoying incremental progress. Along with many performance, stability, and security updates, Java 21 delivers new features and enhancements aiming to boost Java d … | Continue reading
The Foreign Function and Memory API will be finalised in JDK 22. This API helps you integrate native code within your Java program. Using this new API you can efficiently invoke code outside the JVM, safely access memory not managed by the JVM, call native libraries and process … | Continue reading
jwebserver is a tool that provides a minimal HTTP server, designed to be used for web development prototyping, testing, and debugging. This tutorial explains how to use jwebserver in command line or programmaticaly via its API. ... | Continue reading
2023 is coming to a close and it was quite a year for Java! JDK 21 released with virtual threads and pattern matching basics, there were a number of amazing conferences, new Java champions, and we achieved a few milestones on this channel, too. Also, this was the last year, where … | Continue reading
Every year it’s hard to fathom how quickly time passes by. But here we are in the final days of 2023. And as year’s end approaches, I’d like to reflect on all the ongoing momentum in the developer community that continues to keep Java vibrant. Just like every prior year, 2023 was … | Continue reading
Many new features have been added to Java between 18 and 21, but some features are also on the way out. Let’s review a few key features that have been deprecated or removed and alternatives for them! Finalization The biggest feature to be deprecated between Java 18 and 21 period … | Continue reading
Enhance the switch construct to support case labels that match exceptions thrown during evaluation of the selector expression, providing uniform handling of normal and exceptional results. | Continue reading
With the JDK 21 release this fall, we now have a new LTS release to benchmark and generate some GC performance charts for. JDK 21 and the other releases since JDK 17 have delivered a set of noteworthy features such as Virtual Threads, Pattern Matchi… | Continue reading
This guide helps you to understand the Java security technology, tools, and implementations of commonly used security algorithms, mechanisms, and protocols on the Java Platform, Standard Edition (Java SE). | Continue reading
The following JEP is targeted to JDK 22: 462: Structured Concurrency (Second Preview) … | Continue reading
HttpClient has been updated to be AutoCloseable in Java 21. Let’s take a look! AutoCloseable AutoCloseable is not a new feature; it was initially introduced in JDK 7 for use with try-with-resources statements. Classes implementing AutoCloseable provide a close() method to release … | Continue reading
The following JEP is targeted to JDK 22: 458: Launch Multi-File Source-Code Programs… | Continue reading
JDK 22 will be released on March 19th 2024 but it’s forked today (Dec 7th 2023) and so its feature set is final: It finalizes unnamed patterns and variables, G1 region pinning, the FFM API, and multi-source-file programs. On top of that it previews/incubates the simpler main meth … | Continue reading
Localization can often be challenging, with opportunities for subtle bugs to find their way into your applications. Luckily, JDK 21 saw several updates to this area that should help developers. Let’s take a look! Looking up Default Locale and tzdata When trying to resolve localiz … | Continue reading
Whether you are a beginner or a seasoned Java developer, Oracle’s Java Platform extension for Visual Studio Code provides a diverse range of language features and essential programming operations to reduce your efforts when writing, testing, and debugging Java applications. So le … | Continue reading
The following JEP is targeted to JDK 22: 423: Region Pinning for G1… | Continue reading
The following JEP is targeted to JDK 22: 457: Class-File API (Preview) … | Continue reading
The following JEP is targeted to JDK 22: JEP 463: Implicitly Declared Classes and Instance Main Methods (Second Preview) … | Continue reading
ZGC, Java’s highly scalable, low-latency garbage collector, was updated in JDK 21 to become a generational garbage collector with JEP 433. So, how do you use Generational ZGC? And what kind of performance will you get from switching to Generational ZGC? Let’s take a look! What is … | Continue reading
Have issues with unusually high CPU load in your Java applications? JFR can help you track down what is consuming your CPU! Let’s take a look! JDK Flight Recorder JDK Flight Recorder, commonly called JFR, is an observability and monitoring framework built directly into the JDK! S … | Continue reading
The following JEP is targeted to JDK 22: Statements before super(…) (Preview)… | Continue reading
The following JEP is targeted to JDK 22: JEP 456: Unnamed Variables & Patterns … | Continue reading
Georges Saab, SVP of Development, Java Platform and Chair of the OpenJDK Governing Board, joins Oracle TV at CloudWorld 2023 to discuss the feature-and-function improvements in Java 21, the Java Playground, updates to community contributions, and what’s next for Java. | Continue reading
The following JEP is targeted to JDK 22: 460: Vector API (7th Incubator) … | Continue reading
The following JEP is targeted to JDK 22: 459: String Templates (Second Preview) | Continue reading
We all write perfect code that works on the first attempt, right? Ha! Just kidding. We often have to find and fix errors in our code. This process is called debugging. You might be wondering why it is called | Continue reading
Babylon is OpenJDK’s newest big project to improve Java, specifically aimed at easing execution of Java code on the GPU, which will better unlock machine learning and artificial intelligence applications on the JVM. Babylon introduces code reflection, which will allow libraries t … | Continue reading