Jekyll2026-02-05T07:13:24+00:00https://inside.java/feed.xmlinsidejavaNews and views from members of the Java team at OracleLazyConstants in JDK 26 - Inside Java Newscast #1062026-02-05T00:00:00+00:002026-02-05T00:00:00+00:00https://inside.java/2026/02/05/Newscast-106

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.

Make sure to check the show-notes.

]]>
["NicolaiParlog"]
Level Up Your LangChain4j Apps for Production2026-02-01T00:00:00+00:002026-02-01T00:00:00+00:00https://inside.java/2026/02/01/DevoxxBelgium-Production-Langchain4j

This session demonstrates how LangChain4j can help, showcasing a set of often overlooked techniques that keep AI systems on track and unlock more advanced use cases. We explore LangChain4j’s advanced RAG methods for finding all relevant information across documents, databases, APIs, and more, and share practical tips for effective tool calls and responsible MCP usage. You will also see how LangChain4j’s agentic approach lets you decompose complex workflows for greater clarity and control. The presentation wraps up with a guided build of a production-ready agentic system, including the operational and legal considerations that matter once you move beyond PoC.

Recorded at Devoxx Belgium 2025.

]]>
["LizeRaes"]
Episode 44 “Java, Collections & Generics, BeJUG”2026-01-29T00:00:00+00:002026-01-29T00:00:00+00:00https://inside.java/2026/01/29/Podcast-044



In this special episode of the Inside Java Podcast, Nicolai Parlog talks to Adam Bien about scripting with Java, to Maurice Naftalin about the history and tradeoffs of the collections framework and erasure, and to Tom Cools about the innovative way the Belgian Java User Group organizes itself.


Make sure to also check the Duke’s Corner podcast on dev.java.


Additional resources

For more episodes, check out Inside Java, our YouTube playlist, and follow @Java on Twitter.

Contact us here.

]]>
["NicolaiParlog"]
Data-Oriented Programming for Java: Beyond Records2026-01-27T00:00:00+00:002026-01-27T00:00:00+00:00https://inside.java/2026/01/27/beyond-records

]]>
["BrianGoetz"]
Oracle Java Extension for Visual Studio Code Version 25.0.1 Is Now Available!2026-01-23T00:00:00+00:002026-01-23T00:00:00+00:00https://inside.java/2026/01/23/java-vscode-extension-updateNew release of Java Platform Extension for VS Code

]]>
["ArvindAprameya"]
Carrier Classes; Beyond Records - Inside Java Newscast #1052026-01-22T00:00:00+00:002026-01-22T00:00:00+00:00https://inside.java/2026/01/22/Newscast-105

This episode presents Project Amber lead Brian Goetz’s recent email “Data Oriented Programming, Beyond Records”, wherein he describes plans to improve Java’s data handling capabilities by introducing carrier classes, a generalization of records. Like them, carrier classes describe their state through a component list that defines the type’s external API: accessors, a constructor, and matching deconstructor - this allows carrier classes to participate in pattern matching and reconstruction. Unlike records, the implementation of this API remains the developer’s task although component fields offer a shortcut for the common case where the API does map to a field. Carrier classes don’t have to be final (and can hence participate in inheritance) and neither do their fields (so they can be mutable data carriers).

The email also mentions carrier interfaces, allowing records to be abstract as well as a relaxation of deconstruction patterns that make them more amenable to evolution of the matched type. This episode also briefly touches on Gavin Bierman’s mail to the Project Amber mailing list that announces pattern assignments and constant patterns.

Make sure to check the show-notes.

]]>
["NicolaiParlog"]
Optimizing GPU Programs from Java using Babylon and HAT2026-01-19T00:00:00+00:002026-01-19T00:00:00+00:00https://inside.java/2026/01/19/hat-matmul-gpu

]]>
["JuanFumero"]
1B Rows with the Memory API - JEP Cafe #252026-01-17T00:00:00+00:002026-01-17T00:00:00+00:00https://inside.java/2026/01/17/JEPCafe25

In this JEP Café episode, we take on the well-known ‘1 Billion Rows Challenge’ and implement it using the standard Memory API introduced in JDK 22. The goal of this implementation is not to break any speed records, but to show you how one can process binary data using standard patterns offered by the JDK, in a clean and efficient way.

You will see how the different elements of the Memory API are working together. First, you will see which Arena implementation to choose from, among the four given to you by the API. Then you will create Memory Segments to map your multi gigabytes file in the off-heap memory. And then, you will define MemoryLayouts to describe their content in a structured way. Lastly, you will use VarHandles and parallel streams to access and process this data. You see how fast you can go with these clean and standard patterns, that you can use in your own application.

Make sure to check the show-notes!

]]>
["JosePaumard"]
One Giant Leap: 95% Less Sampling Cost2026-01-14T00:00:00+00:002026-01-14T00:00:00+00:00https://inside.java/2026/01/14/user-cpu-time-jvm

]]>
["JonasNorlinder"]
The Static Dynamic JVM – A Many Layered Dive #JVMLS2026-01-11T00:00:00+00:002026-01-11T00:00:00+00:00https://inside.java/2026/01/11/JVMLS-Static-Dynamic-JVM

Dive deep into the Java Virtual Machine and discover how it masterfully balances static analysis with dynamic execution. John Rose explores what makes the JVM both powerful and efficient, from theoretical computer science to real-world optimization techniques.

Make sure to check the JVMLS 2025 playlist.

]]>
["JohnRose"]