The Inside Java Newsletter: Special Issue — JCON Europe

The Inside Java Newsletter for April 2024 outlines Oracle's upcoming participation at JCON Europe 2024 in Germany May 13-16. Check out the speakers from the Java, GraalVM, and Oracle Database teams and their sessions and stop by the conference. Also, explore the archives and subs … | Continue reading


@inside.java | 2 days ago

Java 21 and Beyond: A Roadmap of Innovations

Embark on an exploration of Java 21's groundbreaking language features. From a simplified beginning with unnamed classes and instance main methods to using string templates, record patterns, and pattern matching, this session empowers you to create efficient, future-proof code. | Continue reading


@inside.java | 3 days ago

Java in 2024 - Constant Change, Delivered

Six years ago we accelerated the pace of new releases in order to keep Java vibrant in an ever-changing world of competing platforms and new styles of application deployment. We’ll take a look back at features delivered recently, and a brief look ahead at what’s coming next. | Continue reading


@inside.java | 5 days ago

Java Management Service

As a JVM Sustaining Engineer, my focus has always been on discovering ways to make it easier to diagnose and troubleshoot JVM issues, enhancing JVM serviceability, and enabling users gain critical insights into their Java runtime environments. Recently, I have ventured into the w … | Continue reading


@inside.java | 7 days ago

What’s New in JMC 9? - Sip of Java

Let's take a look at what's new in JDK Mission Control 9! | Continue reading


@inside.java | 10 days ago

JEP 469: Vector API (Eighth Incubator)

The following JEP is targeted to JDK 23: 469: Vector API (Eighth Incubator) | Continue reading


@inside.java | 11 days ago

JEP 473: Stream Gatherers (Second Preview)

The following JEP is targeted to JDK 23: 473: Stream Gatherers (Second Preview) | Continue reading


@inside.java | 13 days ago

Java Withers - Inside Java Newscast #67

JEP 468 proposes a solution to the verbosity that can come from modeling mutable state with immutable records: derived record creation aka with expressions aka withers . That'll make it easy and succinct to create a copy of a record instance while changing just a few components. | Continue reading


@inside.java | 13 days ago

Jextract Guide

This guide shows how to run the jextract tool, and how to use the Java code that it generates. The samples under the samples direcotry are also a good source of examples… | Continue reading


@inside.java | 14 days ago

Programmer’s Guide to JDK Flight Recorder

JDK Flight Recorder (JFR) is a low overhead profiling and troubleshooting framework built into the Java Virtual Machine. It comes with a powerful programming API that allows you to create application specific events. The API can also be used as a datasource for your own infrastru … | Continue reading


@inside.java | 19 days ago

Job Opportunity: Principal Software Developer (Java Security Libraries)

The Java Security Engineering team is responsible for the Java platform security libraries and security tools development. The technologies we provide include a rich set of APIs, tools, and implementations of security algorithms and protocols. The Java security APIs span a wide r … | Continue reading


@inside.java | 19 days ago

Job Opportunity: Software Development Engineer

We are looking for a Software Development Engineer who will help us diagnose, debug and resolve bugs reported by our customers as well as improving the overall quality and stability of the JVM. Here in the Stockholm office, we have the unique access to some of the people that act … | Continue reading


@inside.java | 20 days ago

Job Opportunity: Software Development Engineer

We are looking for a Software Development Engineer who will help us diagnose, debug and resolve bugs reported by our customers as well as improving the overall quality and stability of the JVM. Here in the Stockholm office, we have the unique access to some of the people that act … | Continue reading


@inside.java | 20 days ago

A Decade of JDK Updates in OpenJDK

Since Oracle began developing updates for the JDK with the JDK 7 Updates Project in 2011, a lot has happened in the OpenJDK community. The development processes have been constantly adapted, so that today the changes to the updates begin their journey as pull requests on GitHub. … | Continue reading


@inside.java | 22 days ago

Job Opportunity: Software Development Manager

The Java Security Engineering team is responsible for the Java platform security libraries and security tools development. The technologies we provide include a rich set of APIs, tools, and implementations of security algorithms and protocols. The Java security APIs span a wide r … | Continue reading


@inside.java | 22 days ago

Job Opportunity: Senior Principal Software Developer

The Java Platform group is looking for passionate and highly-motivated software engineers to join our world class development engineering effort. Our team is responsible for delivering all aspect of the core Java platform that is used by millions of developers, and used as the fo … | Continue reading


@inside.java | 23 days ago

Job Opportunity: Senior Software Developer

The Java Platform group is looking for passionate and highly-motivated software engineers to join our world class development engineering effort. Our team is responsible for delivering all aspect of the core Java platform that is used by millions of developers, and used as the fo … | Continue reading


@inside.java | 24 days ago

Java 23: Restoring the Balance with Primitive Patterns - Inside Java Newscast #66

The ongoing introduction of pattern matching to Java has put more weight on some language features than on others and unbalanced the language. In Java 23, primitive patterns will fix this regarding primitive types in `instanceof` and `switch`. This episode also goes over other up … | Continue reading


@inside.java | 27 days ago

Quality Outreach Heads-up - JDK 20-23: Support for Unicode CLDR Version 42

This Heads-Up is part of the regular communication sent to the projects involved, it covers a Unicode CLDR updates in JDK 20 and 23. | Continue reading


@inside.java | 1 month ago

JEP targeted to JDK 23: 466: Class-File API (Second Preview)

The following JEP is targeted to JDK 23: 464: Class-File API (Second Preview)... | Continue reading


@inside.java | 1 month ago

New Java Platform Extension for VS Code Release

New Java Platform Extension for VS Code Release | Continue reading


@inside.java | 1 month ago

Heads-up: macOS 14 users running on Apple silicon systems should update directly to macOS 14.4.1

On March 25, 2024 Apple released macOS 14.4.1 and indicated on their support site that it addresses the issue described in this article. Oracle can confirm that after applying macOS 14.4.1 we are unable to reproduce the problem. We have updated this article accordingly… | Continue reading


@inside.java | 1 month ago

Pruning Dead Exception Handlers

In JDK 22 we resolved a performance issue that had been plaguing the FFM API for a while. The effect of this optimization is more broadly applicable to Java code using try-with-resources, or just any untaken catch block... | Continue reading


@inside.java | 1 month ago

Project Wayfield - The JDK Wayland Desktop on Linux

The Wayland-based desktop is replacing X11 on more and more Linux distros. But like many applications, JDK is still X11-based. OpenJDK Project Wakefield is an effort to first support JDK running on Wayland in X11 compatibility mode, and followed up by the much larger effort to ha … | Continue reading


@inside.java | 1 month ago

MethodHandle Primer

The method handles API in the java.lang.invoke package is a powerful reflection and code generation API that has extensive JIT support as well. In this blog post I will give an overview of this API. I will go over some of the most commonly used parts of the API, but this is not a … | Continue reading


@inside.java | 1 month ago

JDK 22 in Two Minutes! - Sip of Java

JDK 22 is here! Let's take a look! | Continue reading


@inside.java | 1 month ago

JDK 22 Security Enhancements

JDK 22 was released on March 19, 2024! As with my previous blogs, I have compiled a list of what I think are the most interesting and useful security enhancements in this release. I have also grouped them into appropriate categories (crypto, TLS, etc) which should make it easier … | Continue reading


@inside.java | 1 month ago

The Arrival of Java 22!

Oracle is proud to announce the general availability of JDK 22 for developers, enterprises, and end-users… | Continue reading


@inside.java | 1 month ago

JavaOne Returns to the San Francisco Bay Area!

JavaOne Returns to the San Francisco Bay Area! | Continue reading


@inside.java | 1 month ago

Heads-up: Issue with macOS 14.4 (Sonoma) on Apple silicon

Apple’s final release of the 14.4 update to macOS 14 Sonoma causes some Java applications on Apple silicon systems (M1/M2/M3) to terminate unexpectedly. The issue is not present on Intel-based systems, and it affects all supported Java releases… | Continue reading


@inside.java | 1 month ago

JDK 22 Release Notes Review - Inside Java Newscast #65

JDK 22 is set to be released on March 19th! In this episode of the Inside Java Newscast, we will review all the key changes included in this release by going through the release notes of JDK 22... | Continue reading


@inside.java | 1 month ago

Modern Java in Action

Let's write a GitHub Crawler and let's throw in everything Java (21) has to offer: virtual threads and structured concurrency, pattern matching and data-oriented programming, type inference, records, and sealed types, text blocks and template strings, a modern … | Continue reading


@inside.java | 1 month ago

Netflix - Bending Pause Times to Your Will with Generational ZGC

The latest long term support release of the JDK delivers generational support for the Z Garbage Collector. Netflix has switched by default from G1 to Generational ZGC on JDK 21 and later, because of the significant benefits of concurrent garbage col… | Continue reading


@inside.java | 1 month ago

Java 17 to 21: A Showcase of JDK Security Enhancements

In the dynamic landscape of software development, security remains paramount. This session offers a comprehensive showcase of the security enhancements after JDK17. From the evolution of modern cryptographic algorithms to the intricacies of JDK security configuration, API advance … | Continue reading


@inside.java | 1 month ago

Exploring Triton GPU programming for neural networks in Java

In this article we will explain how we can use Code Reflection to implement the Triton programming model in Java as an alternative to Python... | Continue reading


@inside.java | 2 months ago

(Dirty?) Tricks in Java 22 - Inside Java Newscast #64

Java 22 has many language features, Java 8 could only dream of - let’s see what (dirty) tricks we can play with: we’ll see how to pattern-match Optional, how to expand a sealed type hierarchy, why nested switches may (?) be good for documentation, and how a reverse instanceof che … | Continue reading


@inside.java | 2 months ago

Project Leyden: Capturing Lightning in a Bottle

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. We’ll dive into what that means, how it could work, and review recent progress. Recorded during Jfokus 2024. … | Continue reading


@inside.java | 2 months ago

What is Sustaining Engineering?

In Sustaining Engineering, we track down the underlying issue while also helping the customer work around the problem. It’s a bit like being a detective... | Continue reading


@inside.java | 2 months ago

Java’s Custom Runtime Builder - jlink

jlink, introduced in JDK 9, is a powerful command line tool for building custom Java runtimes. In this episode of Stack Walker, we look at the history behind the development of jlink and how it can be used to build a runtime optimized for your application. | Continue reading


@inside.java | 2 months ago

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 | 2 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 | 2 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 | 2 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 | 2 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 | 2 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 | 2 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 | 2 months ago