loader from loading.io

“Sequenced Collections” with Stuart Marks

Inside Java

Release Date: 04/25/2023

“Java Gets Post-Quantum TLS” [IJN] show art “Java Gets Post-Quantum TLS” [IJN]

Inside Java

With JDK 27 introducing hybrid key exchange schemes that combine ML-KEM with traditional ECDHE algorithms, Java applications can gain TLS-layer protection against the harvest-now, decrypt-later threat without rewriting business logic. In this episode of the Inside Java Newscast, Ana explains post-quantum hybrid key exchange for TLS 1.3 and demonstrates how a Java application can take advantage of it. See https://inside.java/podcast  

info_outline
“Make Java Safer with Flexible Constructor Bodies” [IJN] show art “Make Java Safer with Flexible Constructor Bodies” [IJN]

Inside Java

Flexible constructor bodies were added to Java 25 with JEP 513. In this episode of the Inside Java Newscast Billy Korando will review the issues with how constructors used to work before Java 25, either forcing developers to write convoluted code, or in some cases undermining the safety and integrity of child classes. Billy will then cover how flexible constructor bodies address these issues and how Java developers can use them to write safer code and better designed applications. Make sure to check https://inside.java/podcast  

info_outline
“Ask the Architects at JavaOne'26” [AtA]  show art “Ask the Architects at JavaOne'26” [AtA]

Inside Java

In JavaOne 2026’s closing session, audience members had the opportunity to ask the Java architects questions. They asked about the state of structured concurrency and Project Babylon, how Java is being developed and the role AI plays in that process, the architects’ pet projects, and whether they would ever consider breaking backward compatibility, etc.  Make sure to check https://inside.java/podcast  

info_outline
“You Must Avoid Final Field Mutation” [IJN] show art “You Must Avoid Final Field Mutation” [IJN]

Inside Java

With JDK 26 / JEP 500 starting to prevent final field mutation through reflection, it is important that Java projects stop employing that practice. For more, check https://inside.java/podcast

info_outline
“How JDK 26 Improves G1's Throughput” [AtA] show art “How JDK 26 Improves G1's Throughput” [AtA]

Inside Java

G1 is Java's default garbage collector in most environments, and its throughput has been considerably improved in JDK 26 by streamlining its write barriers. This conversation explores the background of that change and dives deep into regions, write barriers, concurrent marking, card tables, and how all that impacts throughput before eventually getting to the improvements made in Java 26, which lay further groundwork to G1 becoming the one and only default collector across _all_ environments. In this "Ask the Architect" episode of the Inside Java Podcast, recorded during JavaOne 2026, Nicolai...

info_outline
“Analyzing Crashed JVMs” [IJN] show art “Analyzing Crashed JVMs” [IJN]

Inside Java

The Java tool jcmd (“j command”) sends diagnostic commands to the JVM, which will react by supplying the desired information: from finalizer queues to heap and thread dumps, from GC insights to virtual thread scheduler statistics. At the moment, this requires a running JVM, but once candidate is adopted, a lot of that information can be seamlessly extracted from a crashed JVM’s core dump, allowing easy post-mortem analysis.

info_outline
“Java Carrier Classes & Discussing Syntax” [AtA] show art “Java Carrier Classes & Discussing Syntax” [AtA]

Inside Java

Carrier classes are Project Amber's current idea to extend some of records' benefits to regular classes. Probably the most important among them is deconstruction, which would allow classes to participate in pattern matching and reconstruction. In recent weeks, there have been two mails to the Amber mailing list that describe that idea, and in this episode we discuss them both as well as the evolution between them. We also hear why syntax discussions often provide negative value and get a sneak peak at what will likely be the next Project Amber language feature. Just ahead of the JavaOne...

info_outline
“Unboxing Java 26 for Developers” [IJN] show art “Unboxing Java 26 for Developers” [IJN]

Inside Java

Java 26 is getting all packaged up to be shipped worldwide! As with every release of the JDK there are a number of new features, improvements, changes in behavior, and more developers should be aware of before upgrading. In this episode of the Inside Java Newscast we will review all the noteworthy changes coming in Java 26 that will impact developers.

info_outline
“Towards Better Checked Exceptions” [IJN] show art “Towards Better Checked Exceptions” [IJN]

Inside Java

Java's checked exceptions are both an integral part of the language and one of its most contested features. Whether their introduction was a mistake and whether they should all be turned unchecked are frequently discussed topics but since the former is not overly relevant and the latter unlikely, this conversation isn't moving Java forward. Instead, let's talk about specific issues with checked exceptions and what could be done about them - from (entirely speculative) language changes to (marginally realistic) JDK/library evolution to stylistic changes.

info_outline
“LazyConstants in JDK 26” [IJN] show art “LazyConstants in JDK 26” [IJN]

Inside Java

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. It executes that supplier at most once successfully and then assigns the value to a field annotated with @Stable, which allows constant folding. This API is also a poster child for how OpenJDK develops and evolves features.

info_outline
 
More Episodes

Sequenced Collections, targeted for JDK 21, are a new collection type created to represent a sequence of elements with a defined encounter order.

Ana recorded this episode with Stuart Marks, the owner of JEP 431 about Sequenced Collections. Stuart discusses the essence of Sequenced Collection interfaces, what needs those address and how they fit within the existing Collections framework. He explains the design of Sequenced Collections, architectural decisions and particularities of the API. He also shares his view on how Sequenced Collections can inspire future Java platform developments.