Inside Java is a podcast for Java Developers brought to you directly from the people that make Java at Oracle. We'll discuss the language, the JVM, OpenJDK, platform security, innovation projects like Loom and Panama, and everything in between!
“The Panama Effect” with Jorn Vernee
The Foreign Function and Memory API will be finalised in JDK 22. This API helps you integrate native code within your Java program. Using this new API you can efficiently invoke code outside the JVM, safely access memory not managed by the JVM, call native libraries and process native data without the brittleness and danger of JNI. Jorn Vernee, core contributor and maintainer of the FFM API, is Ana’s guest during this episode. Jorn explains what is the Foreign Memory Access API, its goals and the iterations that this API went through. Jorn also shares a few examples of Java libraries that already adopted the FFM API, the performance improvements they observed. He also explains how you can use this new API to integrate a native library within your own Java code.
1/8/2024 • 23 minutes, 1 second
“Sequenced Collections” with Stuart Marks
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.
4/25/2023 • 40 minutes, 1 second
"Preview Features: A Look Back and A Look Ahead" with Alex Buckley
Preview Features have been essential to the delivery of Java for the past 5 years, and Java 20 is no exception with second previews of both Virtual Threads and the Foreign Function & Memory API. Chad discussing the importance of Preview Features with Alex Buckley, as well as an Informational JEP that added some further clarification for Preview Features with large surface areas. Some show notes: JDK 20 is out today: https://openjdk.org/projects/jdk/20/ JEP 12: Preview Features https://openjdk.org/jeps/12 A look ahead: https://openjdk.org/jeps/8300604
3/21/2023 • 33 minutes, 22 seconds
“Helidon Níma & Virtual Threads”
Helidon Níma is the first Java microservices framework built from the ground up on virtual threads. David recorded this episode with Tomas Langer, the Helidon architect. Tomas discusses virtual threads from a framework developer point of view. He explains Níma, its architecture and how virtual threads fit in. He also shares his views on virtual threads and some behind the scenes details and how it all started.
1/12/2023 • 29 minutes, 14 seconds
“Java Language - State of the Union”
In this episode, David discusses with Gavin Bierman, the latest evolution in the Java Language. In addition to being a regular guest on this podcast, Gavin spends most of his time on designing new Java language features. They are chatting about Project Amber's latest features related to Pattern Matching but also the String Template feature currently in draft. Through this discussion, you will also hear about some of the tools (ex. Preview Features) but also the challenges related to the design of new Java Language features.
12/23/2022 • 33 minutes, 50 seconds
“JavaFX”
During JavaOne, David sat down with Kevin Rushforth (OpenJFX Project Co-Lead, Oracle) to discuss the JavaFX, OpenJFX and the new JavaFX builds that Oracle is now producing.
11/18/2022 • 15 minutes, 19 seconds
"Java 19 is Here!"
In this two-part episode, Chad interviews Ron Pressler, architect and lead for Project Loom, on Virtual Threads and Structured Concurrency, followed by Brian Goetz, Chief Language Architect, on Record Patterns and the arc of features in Project Amber leading to data-oriented programming. Show notes: JDK 19 JEP 425 Virtual Threads JEP 429 Structured Concurrency Game of Life by Elliot Barlas Project Loom C5M
9/20/2022 • 35 minutes, 25 seconds
"JavaOne is Back!"
Chad interviews Sharat Chander about both the history of JavaOne, and what to expect with the return of it in October. Show notes: Update blog series on Inside.java Register Now to get Early Pricing
8/3/2022 • 29 minutes, 34 seconds
“Towards Generational ZGC”
In this episode, David talks with Erik Österlund about the work he did on the Z Garbage Collector, and the plans to make ZGC a Generational GC. Amongst other things, Erik shares some details on the underlying techniques, and the expected benefits.
6/28/2022 • 14 minutes, 22 seconds
“Java 18 is Here!”
In this special episode Chad talks with Naoto Sato on JEP 400, UTF-8 by Default, and Michel Trudeau on JEP 413, Code Snippets in Java API Documentation. To round things out, we also pulled in highlights from podcast episodes 21 and 22 to provide an overview of JEP 408, Simple Web Server, and JEP 421, Deprecate Finalization for Removal. Check out Java 18 today at Dev.java!
3/22/2022 • 25 minutes, 49 seconds
“The Simple Web Server”
David remotely sat down with Julia Boes, Senior Member of Technical Staff in Dublin, to discuss the Simple Web Server (SWS). The SWS, introduced in JDK 18, is a minimal web server that serves static files. It comes with a command-line tool and an API. In this episode, Julia explains why another web server might be useful. She explains its goals, its features, who it is for but also what it is not!. She then goes over the command-line tool, its API, etc.
3/4/2022 • 26 minutes, 41 seconds
“JEP 421 and Finalization Deprecation”
In this episode, David remotely sat down with Brent Christian to discuss Finalization and the effort to gradually deprecate this now outdated, brittle, and complex mechanism from the platform. After covering some of the finalization weaknesses, Brent discusses the alternatives to properly deal with resources, i.e. try with resources and the Cleaner API. He then continues with JEP 421 which will be part of JDK 18 and some potential subsequent steps.
1/12/2022 • 23 minutes, 18 seconds
“Java 17 is Here!” Part 2
To celebrate the Java 17 release, we have not one but two podcast episodes! In this second part, Chad discusses the evolution of the Java language with Brian Goetz, the Java Language Architect. Chad then concludes this special Java 17 episode with Stuart Marks, aka Dr. Deprecator, on the importance of deprecation!
9/27/2021 • 48 minutes, 49 seconds
“Java 17 is Here!” Part 1
To celebrate the launch of Java 17 we have not one but two podcast episodes! In this first part, Chad discusses some exiting license changes with Donald Smith, i.e. the Free Java License. Chad then continues the discussion on Project Panama and the Vector API with Paul Sandoz. Make sure to also listen to the upcoming Part 2 where Chad discusses with Brian Goetz and Dr. Deprecator aka Stuart Marks!
9/14/2021 • 28 minutes, 16 seconds
“Java's steady march towards strong encapsulation” with Alan Bateman
With JEP 403, Java 17 will strongly encapsulate the JDK internals. This is the latest step in a process that began in Java 9 with the modularization of the JDK. In this episode, Alan Bateman joins Chad to discuss the importance of strong encapsulation, the history, how this will affect your applications today, and what to do in order to prepare for it.
6/29/2021 • 34 minutes, 33 seconds
“Pattern Matching” with Gavin Bierman
In this episode, David discusses with Gavin Bierman a new set of Java language features coming from Project Amber, i.e. Pattern Matching. In addition to `sealed classes` and `pattern matching for instanceof`, they are covering in great detail a new (and great!) JDK 17 preview feature: `pattern matching for switch`.
6/14/2021 • 41 minutes, 23 seconds
“Let's discuss JDK and Networking” with Michael McMahon and Daniel Fuchs
In this episode, David (remotely) sat down with Michael McMahon and Daniel Fuchs both from the Java Dublin engineering team to discuss some of the recent JDK network-related updates: from the HTTP/2 Client API (Java 11) and its updates in Java 16 to the new Java 16 Unix Domain Socket Channel API. There's even a small HTTP/3 sneak peek.
4/12/2021 • 32 minutes, 23 seconds
“Java 16 is Here!” with Mikael Vidstedt
The release of Java 16 was a good reason to invite Mikael Vidstedt, Director of JVM Engineering, again into the show. In this episode, Chad and Mikael discuss some of the new JDK 16 features, the 6 months release cadence but also how some Valhalla initial bits are starting to gradually appear into the platform, and more! For the detailed show-notes, make sure to check-out the episode page at https://inside.java/2021/03/16/podcast-015 And for more episodes, please visit https://inside.java/podcast
3/16/2021 • 33 minutes, 30 seconds
“Records Serialization” with Julia Boes and Chris Hegarty
Records are a standard and permanent Java language feature starting Java 16. This was a good occasion for David to discuss Records, and more specifically Records serialisa… Records serialization with Julia Boes and Chris Hegarty. Julia and Chris are both from the Dublin Java engineering team. They both work on Core Libraries, and as such, they have been deeply involved in the recent serialization improvements. In this episode, you will see that the approach of serializing records drastically changes from the serialization of traditional classes. PS: Deserialization is largely discussed too!
3/8/2021 • 37 minutes, 24 seconds
"JDK Flight Recorder" with Markus Grönlund
Chad discusses JDK Flight Recorder (JFR) with Markus Grönlund. Learn all about JFR including how to get started, the problems it addresses, the many event types it outputs, the new streaming capabilities, and more! Links Mentioned JDK11 - Introduction to JDK Flight Recorder https://www.youtube.com/watch?v=7z_R2Aq-Fl8 JEP 328: Flight Recorder https://openjdk.java.net/jeps/328 Continuous Monitoring with JDK Flight Recorder https://www.youtube.com/watch?v=plYESjZ12hM
2/22/2021 • 35 minutes, 5 seconds
“jpackage” with Kevin Rushforth
David Delabassée recently sat down with Kevin Rushforth to discuss the Packaging Tool (JEP 392) more commonly known as jpackage, a new tool that will be made production-ready in JDK 16…
2/11/2021 • 25 minutes, 7 seconds
“How to contribute to OpenJDK” with Stuart Marks and Jesper Wilhelmsson
David Delabassée recently sat down with Stuart Marks and Jesper Wilhelmsson to discuss various ways of contributing to OpenJDK. Spoiler alert: there are many!
1/30/2021 • 32 minutes, 1 second
“Project Panama - The Foreign Linker API” with Maurizio Cimadamore and Jorn Vernee
David Delabassee continues the Panama discussion (cf. Episode 9) with Maurizio Cimadamore and Jorn Vernee. This episode focuses on the Foreign Linker API and the jextract tool.
12/21/2020 • 24 minutes, 59 seconds
“Project Panama - The Foreign Memory Access API” with Maurizio Cimadamore and Jorn Vernee
In this episode, David Delabassee discusses Project Panama's Foreign Support with Maurizio Cimadamore and Jorn Vernee. The episode starts with an overview of Project Panama, its Foreign Support and then discusses in detail the Foreign Memory Access API. Panama's Foreign Linker API will be discussed in a follow-up episode.
12/11/2020 • 28 minutes, 28 seconds
“Project Loom” with Ron Pressler
Chad Arimura discusses Project Loom with Ron Pressler. Relevant links: https://wiki.openjdk.java.net/display/loom/Main https://inside.java/tag/loom https://github.com/openjdk/loom For all episodes and more, check out Inside Java and follow @java on Twitter. Episodes are now available on YouTube as well.
11/24/2020 • 33 minutes, 11 seconds
“The Vector API” with John Rose and Paul Sandoz
In this episode, David Delabassee discusses the new Vector API with John Rose and Paul Sandoz. For more episodes, check out https://inside.java/podcast. Resources: JEP 338: Vector API (Incubator) jdk.incubator.vector Javadoc OpenJDK 16 EA Builds Daniel Lemire's blog
11/17/2020 • 47 minutes, 27 seconds
“Project Skara” with Joe Darcy and Erik Duveblad
Chad Arimura discusses Project Skara with Joe Darcy and Erik Duveblad. Relevant Links: https://github.com/openjdk https://github.com/openjdk/jdk https://inside.java/tag/skara https://githubuniverse.com/Project-Skara-migrating-OpenJDK-to-Git-&-GitHub/ For all episodes and more, check out Inside Java and follow @java on Twitter.
10/28/2020 • 32 minutes, 51 seconds
“The Z Garbage Collector” with Per Liden
In this episode, David Delabassee (Developer Relations) discusses with Per Liden (ZGC Lead) the Z Garbage Collector that is now production ready in JDK 15.
10/14/2020 • 29 minutes, 55 seconds
“Record Classes” with Gavin Bierman
In this episode, David Delabassee (Developer Relations) discusses with Gavin Bierman (Consulting Member of Technical Staff) a new Java Language feature emerging from Project Amber, i.e. Records classes! For more episodes, check out Inside Java and follow @Java on Twitter. Contact us here.
10/5/2020 • 35 minutes, 39 seconds
“The State of Java” with Georges Saab
Our guest today is Georges Saab (@gsaab), Vice President of Development of the Java Platform Group. We discuss the State of Java after 25 years, the latest innovations in OpenJDK, and why his name is spelled differently. Our host is Chad Arimura (@chadarimura), VP of Java Developer Relations. For future episodes and more, make sure to check out Inside Java and follow @java on Twitter. Additional Resources OpenJDK Oracle Java
9/14/2020 • 25 minutes, 41 seconds
“Java 15 is Here!” with Mikael Vidstedt
David Delabassee (@delabassee) discusses the latest Java release, Java 15, with Mikael Vidstedt (@MikaelVidstedt), Director of JVM Development. For future episodes and more, check out Inside Java and follow @java on Twitter. Covered in This Episode New or updated Java language feature, Java SE API feature and JDK API Sealed Classes (Preview) Hidden Classes Reimplement the Legacy DatagramSocket API Text Blocks Foreign-Memory Access API (Second Incubator) Records (Second Preview) Pattern Matching for instanceof (Second Preview) Garbage Collectors ZGC: A Scalable Low-Latency Garbage Collector Shenandoah: A Low-Pause-Time Garbage Collector Improving G1 out-of-the-box performance Deprecation & Removal Remove the Solaris and SPARC Ports Remove the Nashorn JavaScript Engine Security Edwards-Curve Digital Signature Algorithm (EdDSA) Support for certificate_authorities Extension Other Features (JDK 14 & JDK 15) Cgroups v2: Container awareness JFR Event Streaming OpenJDK Projects Discussed in this Episode Project Loom Project Panama Project Amber Project Valhalla Additional Resources OpenJDK Oracle Java
9/8/2020 • 33 minutes, 47 seconds
“Welcome to Inside Java!” with hosts Chad and David
Welcome to the Inside Java podcast. In Episode #1 (we couldn't start at 0), the hosts Chad Arimura (VP Developer Relations) and David Delabassee (Developer Relations) introduce the Java Platform Group at Oracle, major innovation projects in OpenJDK, the Inside.java aggregation site, and this podcast. Both Chad and David can be found on Twitter: @chadarimura, @delabassee. For future episodes and more, make sure to check out Inside Java and follow @java on Twitter. Mentioned links from episode The Future of the Java Platform and the JDK: Who is in Charge? Modern Java - Change is the Only Constant Moving Java Forward Faster Stewardship: the Sobering Parts Evolving the JVM - Principles & Directions OpenJDK projects discussed in this episode ZGC Project Amber Project Valhalla Project Panama Project Loom Additional resources OpenJDK Oracle Java Contact us here.