JDK 27 & Valhalla, Now! - Inside Java Newscast #113
JDK 27 entered RDP1, Valhalla's JEP 401 is being merged into JDK main, join our hackathon, and more
You. Me. Java.
JDK 27 entered RDP1, Valhalla's JEP 401 is being merged into JDK main, join our hackathon, and more
No OpenJDK project has excited Java developers as much as Project Valhalla and no other has strung us along for that long. But now the wait is over!
Reflective mutation of final field mutation will soon be disabled by default and should be avoided if possible - here's how
With JDK 26 / JEP 500 starting to prevent final field mutation through reflection, it is important that Java projects stop employing that practice.
The Java tool jcmd ("j command") sends diagnostic commands to the JVM, which, at the moment, requires a running JVM, but once candidate JEP 528 is adopted, a lot of the information can be seamlessly extracted from a crashed JVM's core dump, allowing easy post-mortem analysis
Java 25 is the latest release with wide-ranging long-term support. It's a doozy and Java 26 and 27 followed hot on its heels.
Java's checked exceptions are both an integral part of the language and one of its most contested features. Let's talk about specific issues with checked exceptions and what could be done about them.
With finalization being deprecated for removal, finalize methods are slowly being removed
Lazily initializing fields in Java is error-prone and undermines constant-folding. JDK 26 comes with JEP 526, which previews LazyConstant , a type that lazily initializes a value through a given Supplier .
Carrier classes are a generalization of records that allow Java developers to succinctly define classes with a data-centric API that can participate in pattern matching and reconstruction
In 2026, Java keeps evolving. Here's how the big OpenJDK projects Amber, Babylon, Leyden, Loom, Panama and Valhalla plan to push Java forward.
With 2025 coming to a close, let's summarize Java's year and look at the current state of the six big OpenJDK projects as well as a few other highlights.
Java 26 enters rampdown phase 1, which sets its feature set in stone: HTTP/3 support, performance and AOT improvements, new command-line flags to manage final field mutation, and more
Java 26 will issue run-time warnings when a final field is mutated through reflection. This prepares a future change that will make such final field mutation illegal by default to improve Java's integrity.
Answers to the remaining questions that didn't fit into Inside Java Newscast #100
JEP 401, Value Classes and Objects, has recently re-entered "candidate" status and is getting ready to target a release.
Prior to this change, a new File("") behaved differently, depending on whether it was queried as a relative or absolute file
Java's (almost) default garbage collector G1 is undergoing even more improvements
Learn about all API additions between Java 21 and Java 25: scoped values, stream gatherers, class-file API, foreign function and memory API, Javadoc additions, and preview features.
A deep-dive into the structured concurrency API as it is currently proposed
Updating from Java 21 to 25 is a smooth experience. Unless you're working on an unlucky project that collected all the little details that change: Whether it's annotation processing, null checks, file operations or the removal of old technologies, Peter collects them all.
You asked questions, Java architects have the answers - from switch and if expressions to record identity, from optimal training runs to differentiable programming, and more
JEP 517 proposes to update Java's HTTP Client (introduced in Java 11) to be compatible with HTTP/3
Java considers itself a "batteries included" language and given JSON's ubiquity as a data exchange format, that means Java needs a JSON API.
Java 25, much like Java 21, will be described as a "long-term-support version" despite the fact that that's categorically wrong.
Java 25 previews an API that transforms PEM (Privacy-Enhanced Mail) texts into cryptographic objects like public or private keys, certificates, and certification lists and vice versa.
Java 25 will be released on September 16th. Its feature set has been frozen today and it is impressive: 11 finalized features in language, APIs and the runtime plus 7 that are brewing.
JDK Enhancement Proposal 505 revamps the structured concurrency API in JDK 25 by introducing a configuration and joiners.
JavaOne 2025 had lots of talks from OpenJDK insiders as well as from community experts - here are some of the highlights
The Java compiler will now inject null checks for the outer instance into the constructor of inner classes
Scoped values enable a method to share immutable data both with its callees within a thread and with child threads in a convenient, safe, scalable way, particular in comparison to thread-local variables.
Due to their reliance on RMI, which the JDK is moving away from, the remote debugging capabilities of jstat and jhsdb are deprecated for removal
In 2025, the Java language keeps evolving. Here's how Project Amber plans to push Java forward: from flexible constructor bodies to simplified main, from module imports to primitive and deconstruction patterns, from withers to string templates.
In 2025, Java keeps evolving. Here's how the big OpenJDK projects (Leyden, Valhalla, and more) sans Amber plan to push Java forward.
Java 24's feature list contains a whopping 24 JDK Enhancement Proposals. Here, we're going to look at the performance improvements and deprecations/removals.
JEP 472 prepares restricted access to native code through JNI and the FFM API
Java 24's feature list contains a whopping 24 JDK Enhancement Proposals. Here, we're going to look at the language and API changes.
On Java 24, virtual threads will no longer be pinned inside synchronized blocks, which increases ease of adoption
"Tip & tail is a release model for software libraries that gives application developers a better experience while helping library developers innovate faster"
Java's success as one of the most used programming languages in the world comes in no small parts from its approachability but what may have been an easy entry into programming in the mid 90s, appears laborious today and so, in recent years, Oracle and OpenJDK have worked to improve the situation.
At JVMLS 2024, project lead Brian Goetz presented the current state of Project Valhalla - this video summarizes the proposed changes to the programming model.
OpenJDK evolves Java through JDK Enhancement Proposals, JEP for short, and uses them to communicate its intentions, but the the devil is in the details
Integrity is a cornerstone of the Java Platform as it enables/bolsters reliability, maintainability, security, and performance, but there are operations that undermine it. Now, Java wants to lock them down by default.
What AI development needs and how much Java already has to offer, what it lacks, as well as what it's poised to acquire in the future
With the removal of the JDK's own (somewhat outdated) locale data, all projects must now use the CLDR data or other implement a custom locale data provider
AI development can be split into three categories: developing an ML model (where Java isn't competitive and is unlikely to become top of the class any time soon), developing an AI-centered product (where Java is well-positioned and will become stringer soon; but does this category matter in the long run?) and adding AI-based features to larger projects (where Java is already very good and will…
A review of data-oriented programming version 1.1: What caused the update and what is still left to be improved?
JDK 23 doesn't contain the string template preview that was present in JDKs 21 and 22. Let's discuss why the feature was removed (probably not for the reasons you think), what a new proposal could look like, and when we may see it.
Starting with JDK 23, annotation processors in the class path will no longer be executed without further javac configuration
How does data-oriented programming compare to object-oriented and functional programming and what are good situations to start using it?