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

New Java Platform Extension for VS Code Release

New Java Platform Extension for VS Code Release | Continue reading


@inside.java | 8 months 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 | 8 months 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 | 8 months 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 | 8 months 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 | 8 months ago

JDK 22 in Two Minutes! - Sip of Java

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


@inside.java | 8 months 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 | 8 months ago

JavaOne Returns to the San Francisco Bay Area!

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


@inside.java | 8 months 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 | 8 months 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 | 8 months 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 | 8 months 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 | 9 months 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 | 9 months 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 | 9 months 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 | 9 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 | 9 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 | 9 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 | 9 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 | 9 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 | 9 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 | 9 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 | 9 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 | 9 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 | 9 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 | 9 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 | 9 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 | 9 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 | 9 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 | 9 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 | 9 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 | 10 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 | 10 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 | 10 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 | 10 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 | 10 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 | 10 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 | 10 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 | 10 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 | 10 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 | 10 months ago