The State of OpenJDK

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


@inside.java | 2 months ago

Quality Outreach Heads-up - Virtual Threads “Pinning” Issue

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


@inside.java | 2 months ago

State of jextract

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


@inside.java | 3 months ago

Java Language Update - Early 2024 Edition

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


@inside.java | 3 months ago

Virtual Threads - Next Steps

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


@inside.java | 3 months ago

When should a compiler expand garbage collection barriers?

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


@inside.java | 3 months ago

Does Java 22 Kill Build Tools? - Inside Java Newscast #63

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


@inside.java | 3 months ago

Emulating C# LINQ in Java using Code Reflection

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


@inside.java | 3 months ago

Foreign Function & Memory API - A (quick) peek under the hood

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


@inside.java | 3 months ago

Data Oriented Programming in Java 21

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


@inside.java | 3 months ago

Java 21 and Beyond: A Roadmap of Innovations

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


@inside.java | 3 months ago

JDK 22 G1/Parallel/Serial GC changes

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


@inside.java | 3 months ago

Data Oriented Programming in Java 21, Solving the Countdown game - JEP Cafe #22

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


@inside.java | 3 months ago

Automatic differentiation of Java code using Code Reflection

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


@inside.java | 3 months ago

Quality Outreach Heads-up - Java Array Element Alignment: Weakening of Some Methods Guarantees ?

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


@inside.java | 3 months ago

Java Renaissance

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


@inside.java | 3 months ago

Java 22 Previews Statements Before super(…) and this(…) - Inside Java Newscast #62

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


@inside.java | 3 months ago

Quality Outreach Heads-up - Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal in a Future Release

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


@inside.java | 3 months ago

JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)

The following JEP is proposed to target JDK 23: 455: Primitive Types in Patterns, instanceof, and switch (Preview)… | Continue reading


@inside.java | 3 months ago

JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)

The following JEP is targeted to JDK 23: 455: Primitive Types in Patterns, instanceof, and switch (Preview)… | Continue reading


@inside.java | 3 months ago

Java’s Plans for 2024 - Inside Java Newscast #61

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


@inside.java | 4 months ago

Stepping in 2024 with Powerful Java Language Features

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


@inside.java | 4 months ago

“The Panama Effect” with Jorn Vernee

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


@inside.java | 4 months ago

Tutorial: JWebserver - Launch the Java Simple Web Server

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


@inside.java | 4 months ago

Java Highlights of 2023 - Inside Java Newscast #60

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


@inside.java | 5 months ago

Tis the season of…Thanks!

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


@inside.java | 5 months ago

Deprecated Features in Java 18 thru 21 - Sip of Java

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


@inside.java | 5 months ago

Uniform handling of failure in switch

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


@inside.java | 5 months ago

JDK 21: The GCs keep getting better

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


@inside.java | 5 months ago

Java SE Security Developer’s Guide

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


@inside.java | 5 months ago

JEP targeted to JDK 22: 462: Structured Concurrency (Second Preview)

The following JEP is targeted to JDK 22: 462: Structured Concurrency (Second Preview) … | Continue reading


@inside.java | 5 months ago

AutoCloseable HttpClient - Sip of Java

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


@inside.java | 5 months ago

JEP targeted to JDK 22: 458: Launch Multi-File Source-Code Programs

The following JEP is targeted to JDK 22: 458: Launch Multi-File Source-Code Programs… | Continue reading


@inside.java | 5 months ago

Java 22 Unpacking - Inside Java Newscast #59

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


@inside.java | 5 months ago

Locale Updates in Java 21 - Sip of Java

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


@inside.java | 5 months ago

Another VS Code Extension for Java?

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


@inside.java | 5 months ago

JEP targeted to JDK 22: 423: Region Pinning for G1

The following JEP is targeted to JDK 22: 423: Region Pinning for G1… | Continue reading


@inside.java | 5 months ago

JEP targeted to JDK 22: 457: Class-File API (Preview)

The following JEP is targeted to JDK 22: 457: Class-File API (Preview) … | Continue reading


@inside.java | 5 months ago

JEP targeted to JDK 22: JEP 463: Implicitly Declared Classes and Instance Main Methods (Second Preview)

The following JEP is targeted to JDK 22: JEP 463: Implicitly Declared Classes and Instance Main Methods (Second Preview) … | Continue reading


@inside.java | 5 months ago

Introducing Generational ZGC

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


@inside.java | 5 months ago

Finding CPU Load with JFR - Sip of Java

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


@inside.java | 5 months ago

JEP targeted to JDK 22: Statements before super(…) (Preview)

The following JEP is targeted to JDK 22: Statements before super(…) (Preview)… | Continue reading


@inside.java | 5 months ago

JEP targeted to JDK 22: JEP 456: Unnamed Variables & Patterns

The following JEP is targeted to JDK 22: JEP 456: Unnamed Variables & Patterns … | Continue reading


@inside.java | 5 months ago

What’s New in Java 21 - Oracle TV from CloudWorld 2023

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


@inside.java | 6 months ago

JEP targeted to JDK 22: 460: Vector API (7th Incubator)

The following JEP is targeted to JDK 22: 460: Vector API (7th Incubator) … | Continue reading


@inside.java | 6 months ago

JEP targeted to JDK 22: 459: String Templates (Second Preview)

The following JEP is targeted to JDK 22: 459: String Templates (Second Preview) | Continue reading


@inside.java | 6 months ago

Tutorial - Debugging in Java

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


@inside.java | 6 months ago

Java On The GPU - Inside Java Newscast #58

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


@inside.java | 6 months ago