Articles and videos
- Introducing the Oracle Java Platform Extension for Visual Studio Code by (18 October 2023) ► The title says it all.
- ↪Another VS Code Extension For Java ? by (3 December 2023) ► A presentation of that Java Platform Support VS Code extension.
- Inside Java
- Episode 1 “Welcome to Inside Java!” with hosts Chad and David (⧉) by and (2 September 2020) ► A presentation of inside.java, of the podcast, and of the Java projects.
- Episode 2 “Java 15 is Here!” with Mikael Vidstedt (⧉) by and (8 September 2020) ► An overview of the changes in Java 15.
- Episode 3 “The State of Java” with Georges Saab (⧉) by and (14 September 2020) ► The beginning of Java, the new release schedule, and some of the new features.
- Episode 4 “Record Classes” with Gavin Bierman (⧉) by and (5 October 2020) ► An overview of Records.
- Episode 5 “The Z Garbage Collector (ZGC)” with Per Liden (⧉) by and (14 October 2020) ► A presentation of ZGC.
- Episode 6 “Project Skara” with Joe Darcy and Erik Duveblad (⧉) by , , and (28 October 2020) ► How GitHub has been chosen to host OpenJDK and the tools used to complete GitHub features.
- Episode 7 “The Vector API” with John Rose and Paul Sandoz (⧉) by , , and (17 November 2020) ► The history of the Vector API, its purpose, and its current status.
- Episode 8 “Project Loom” with Ron Pressler (⧉) by and (24 November 2020) ► The loom project (lightweight user-mode threads): its objectives and its current status.
- Episode 9 “Project Panama - The Foreign Memory Access API” with Maurizio Cimadamore and Jorn Vernee (⧉) by , , and (11 December 2020) ► Project Panama: the Foreign Memory Access API.
- ↪Episode 10 “Project Panama - The Foreign Linker API” with Maurizio Cimadamore and Jorn Vernee (⧉) by , , and (21 December 2020) ► The continuation of the previous podcast: the Foreign Linker API.
- Episode 11 “How to contribute to OpenJDK” with Stuart Marks and Jesper Wilhelmsson (⧉) by , , and (29 January 2021) ► The title says it all.
- Episode 12 “jpackage” with Kevin Rushforth (⧉) by and (11 February 2021) ► A description of jpackage.
- Episode 13 “JDK Flight Recorder” with Markus Grönlund (⧉) by and (22 February 2021) ► The history and the possibilities of JDK Flight Recorder.
- Episode 14 “Records Serialization” with Julia Boes and Chris Hegarty (⧉) by , , and (8 March 2021) ► A summary of Records and how their serialisation is implemented.
- Episode 15 “Java 16 is Here!” with Mikael Vidstedt (⧉) by and (16 March 2021) ► Information about the changes in Java 16.
- Episode 16 “Let's Discuss JDK and Networking” with Michael McMahon and Daniel Fuchs (⧉) by , , and (13 April 2021) ► The changes in the network APIs done in the last JDK releases.
- Episode 17 “Pattern Matching for switch” with Gavin Bierman (⧉) by and (13 June 2021) ► Pattern matching: what is already available,
switchin JDK 17, and the future. - Episode 18 “Java's steady march towards strong encapsulation” with Alan Bateman (⧉) by and (29 June 2021) ► The usual information about how the access to the internal APIs of the JDK are gradually closed.
- Episode 20 “Java 17 is Here! Part 2” (⧉) by , , and (27 September 2021) ► The evolution of Java, the interest of Records, and the deprecation of features.
- Episode 21 “JEP 421 and Finalization Deprecation” (⧉) by and (11 January 2022) ► Why
Object.finalize()will be removed, the next step, and the fact that the whole removal timeline is not defined yet. - Episode 22 “JEP 408 - Simple Web Server” by and (4 March 2022) ► A presentation of the Simple Web Server added in JDK 18.
- Episode 23 “Java 18 is Here!” by , , , , and (22 March 2022) ► UTF8 is now the default charset, some extracts of the Simple Web Server podcast, Code Snippets, and some extracts of the Finalization Deprecation podcast.
- Episode 24 “Towards Generational ZGC!” by and (29 June 2022) ► Some very technical details about ZGC.
- Episode 25 “JavaOne is Back!”↓ by and (3 August 2022) ► Some advertisement for the coming Java One.
- Episode 26 “Java 19 is Here!” by and (20 September 2022) ► Virtual threads, structured concurrency, pattern matching for switch, and record deconstruction.
- Episode 27 “JavaFX” (⧉) by and (17 November 2022) ► The current status and the near future of JavaFX.
- Episode 28 “Java Language - State of the Union” (⧉) by and (23 December 2022) ► Patterns, data oriented programming, and string templates.
- Episode 29 “Helidon Níma & Virtual Threads” (⧉) by and (12 January 2023) ► describes the migration of Helidon to Loom’s virtual threads.
- Episode 30 “Preview Features: A Look Back and A Look Ahead” with Alex Buckley (⧉) by and (21 March 2023) ► JEP 12 is modified to explain that API changes have more impact and may require a longer preview period than JVM changes.
- Episode 31 “Sequenced Collections” with Stuart Marks (⧉) by and (25 April 2023) ► The title says it all.
- Episode 32 “The Panama Effect” with Jorn Vernee (⧉) by and (8 January 2024) ► At last, the Foreign Function & Memory API will be finalised in Java 22.
- Episode 33 “JDK 24 and More” with Chad (⧉) by (26 December 2024) ► Some of the improvements and previews present in JDK 24.
- Episode 34 “Doc, JavaDoc and Markdown” with Jonathan Gibbons by and (21 January 2025) ► The story of JavaDoc.
- Episode 35 “Stream Gatherers” with Viktor Klang by and (5 May 2025) ► Some information about the design of
Gatherers, how to learn to use them… - Episode 36 “Ahead of Time Computation” with Dan Heidinga by and (16 May 2025) ► Yet another presentation of Java 24’s ahead-of-time class loading and linking.
- Episode 37 “Efficient Initialization Using Stable Values” with Per Minborg (⧉) by and (10 June 2025) ► Some information about Stable Values.
- Episode 38 “Integrity by Default” with Ron Pressler (⧉) by and (24 June 2025) ► Yet another presentation of why Oracle wants to close the subversion mechanisms present in Java.
- Episode 39 “Deprecations & Removals” with Stuart Marks (⧉) by and (29 July 2025) ► Removal of the 32-bit x86 support and of the Applet API, deprecation of Finalisation, and disabling of the Security Manager.
- Episode 40 “Amber & Valhalla - Incremental Design and Feature Arcs” with Brian Goetz (⧉) by and (28 September 2025) ► Some news about Amber and Valhalla, and how their changes are integrated step by step in Java.
- Episode 41 “From Cowboy Mode to Careful Stewardship” with Mark Reinhold (⧉) by and (27 October 2025) ► How the Java team tries to clean up the problems created by the rush to add features in the early years and the hacks implemented by many users.
- Episode 42 “From Sumatra to Panama, from Babylon to Valhalla” with John Rose (⧉) by and (2 December 2025) ► This interview is mostly about the usual Java subjects, but it contains some information about the past of Java and; in particular, the Sumatra project (the support of GPUs).
- Episode 43 “Predictability or Innovation? Both!” with Georges Saab (⧉) by and (26 December 2025) ► Some generalities about Java: choosing the right features to add, facilitating Java learning, predictability of the new releases…
- Episode 44 “Java, Collections & Generics, BeJUG” (⧉) by , , , and (29 January 2026) ► Writing Java scripts, collections, sequences, and generics, and the organisation of BeJUG.
- Episode 45 “Announcement - The New Inside Java Podcast” by (29 January 2026) ► The podcast will also have "Ask the Architects" episodes and integrate the "Inside Java Newscast" videos.
- Inside Java Newscast
- Java 16 Rundown, First Of Java 17 - Inside Java Newscast #1 by (24 March 2021) ► A quick overview of Java 16 and some first information about Java 17.
- Vector API, Record Serialization, And Java 17 - Inside Java Newscast #2 by (8 April 2021) ► A short description of the Vector API, a pointer toward some information about Record Serialization, and improved pseudo-random number generators in Java 17.
- Quicker Java and JDK 16 compatibility - Inside Java Newscast #3 by (22 April 2021) ► Some features to develop faster in Java and some projects which are now supporting Java 16.
- 5 Secret Java API Tricks and Record Semantics - Inside Java Newscast #4 by (11 May 2021) ►
Pattern::asPredicate, regex named capturing groups,Predicate::not,Comparator::naturalOrder, autoclosable Streams, and Records are Tuples. - Pattern Matching in Switches and Security Manager Deprecation - Inside Java Newscast #5 by and (27 May 2021) ► The title says it all.
- Java 17: Features and Development - Inside Java Newscast #6 by and (10 June 2021) ► The list of JEPs part of JDK 17 and a description of the phases of the JDK release process.
- Handling null and upgrading past Java 8 - Inside Java Newscast #7 by (1 July 2021) ► Some advice on how to handle
null, the JSpecify initiative to define nullness annotations, and the Netflix example of upgrading from Java 8 to Java 16. - Incremental Evolution, Pattern Switches, Wayland Support - Inside Java Newscast #8 by (15 July 2021) ► Some examples of projects gradually integrated in several releases of JDK, pattern switches and sealed classes, and the launch of Wayland support.
- Random Numbers & JDK Flight Recorder - Inside Java Newscast #9 by and (29 July 2021) ► The improved pseudorandom number generators in JDK 17 and a short presentation of JFR.
- JDK 17 1st Release Candidate, finalize() deprecation, Value-based classes - Inside Java Newscast #10 by (12 August 2021) ► Java 17 RC1,
finalize()is deprecated, a detailed description of what is a value-based class, and some pointers toward sources for contributing to OpenJDK. - Fast and Secure Inter-process Communication on JDK 16 - Inside Java Newscast #11 by (26 August 2021) ► A short presentation of Unix domain sockets.
- Faster LTS and free JDK with Java 17 - Inside Java Newscast #12 by (14 September 2021) ► LTS releases will now be every two years and Oracle JDK can now be used freely in production.
- Java 17… more videos, UTF-8 by default in Java 18, Dev.java - Inside Java Newscast #13 by (15 October 2021) ► Some videos of Oracle Developer Live, UTF8 is now the default charset, and dev.java.
- 11 Tricks From dev.java - Inside Java Newscast #14 by (28 October 2021) ► Some fast-paced information about records,
JPackage, lambdas… - What Happens to Finalization in JDK 18? - Inside Java Newscast #15 by (11 November 2021) ► The deprecation of
Object.finalize(). - Simple Web Server, Incremental JVM Improvements & JEP 420 Update - Inside Java Newscast #16 by (2 December 2021) ► A presentation of the simple Web Server that will be included in JDK, the fact that small enhancements of the JVM accumulate into big improvements, and two small changes in Pattern Matching for
switch(see JEP 420). - Project Loom Brings Structured Concurrency - Inside Java Newscast #17 by (17 December 2021) ► A short presentation of what is structured concurrency.
- Java's Plans for 2022 - Inside Java Newscast #18 by (13 January 2022) ► A short presentation and the current status of the Valhalla, Panama, Loom, and Amber projects.
- Where to use Optional - Inside Java Newscast #19 by (27 January 2022) ► The debate on when to use
Optional. - Compiled & Tested Code In Javadoc - Inside Java Newscast #20 by (10 February 2022) ► Code Snippets in Javadoc.
- All About Java 18 - Inside Java Newscast #21 by (10 March 2022) ► The content of Java 18.
- Java Is Fast! - Inside Java Newscast #22 by (24 March 2022) ► Some JVM performance improvements and JEP 418 Internet-Address Resolution Service-Provider Interface.
- Virtual Thread Deep Dive - Inside Java Newscast #23 by (7 April 2022) ► A presentation of Loom’s virtual threads.
- WHEN and NULL In Pattern Matching - Inside Java Newscast #24 by (5 May 2022) ► The changes that will be done in Pattern Matching for Java 19.
- News Grab Bag: Loom Virtual Threads, Lilliput, Pattern Matching, ... - Inside Java Newscast #25 by (19 May 2022) ► Virtual threads have been committed into the JDK code, some information about Maven Central, the project Lilliput aiming at reducing the size of object headers, Record Patterns, and openjdk.org.
- Deconstructing Records in Pattern Matching - Inside Java Newscast #26 by (2 June 2022) ► A presentation of JEP 405.
- Java 19 - The Best Java Release? - Inside Java Newscast #27 by and (16 June 2022) ► A summary of Java 19 new features.
- What is OpenJDK? - Inside Java Newscast #28 by (30 June 2022) ► An explanation of the complex OpenJDK ecosystem.
- Data-Oriented Programming - Inside Java Newscast #29 by (14 July 2022) ► A description of data-oriented programming and some examples of how to implement it in Java.
- Java Q&A; Leyden, Valhalla, Amber, and more! - Inside Java Newscast #30 by and (28 July 2022) ► Miscellaneous Q&A.
- Sequenced Collections, Purity, and more at JavaOne - Inside Java Newscast #31 by (11 August 2022) ► A short presentation of some Java One sessions.
- ↪String Templates, JavaFX 19, Deserialization, and more at JavaOne - Inside Java Newscast #32 by (23 August 2022) ► The continuation.
- Java 19 in Action - Inside Java Newscast #33 by (8 September 2022) ► A demo of writing a GitHub crawler using some recent Java features (records, virtual threads, sealed classes…).
- Loom in the Java Ecosystem - Inside Java Newscast #34 by , , , and (27 September 2022) ► A short recap on virtual threads, some IDEs and frameworks supporting them, and some Web Servers experimenting with them.
- Starting (With) Java, Made Simple - Inside Java Newscast #35 by (6 October 2022) ► A short presentation of ’s proposal to simplify Java learning ramp by defining some specific rules making the program
void main() { System.out.println("Hello World"); }legal. - GraalVM in OpenJDK and more JavaOne Announcements - Inside Java Newscast #36 by (3 November 2022) ► JavaFX releases will be synchronised with the JDK releases, Oracle contributes GraalVM to OpenJDK, a Java 8 with performance improvements (only for subscribers), and Generational ZGC.
- Generational ZGC Needs You! - Inside Java Newscast #37 by (17 November 2022) ► The ZGC team would like to get some feedback about Generational ZGC.
- Glimpse at Java 20: Pattern Matching, Concurrent Programming and Valhalla - Inside Java Newscast #38 by (1 December 2022) ► Some changes in Java 20: sequenced collections, new previews for pattern matching for switch and for record patterns, and new methods added in Loom. There is also an early access release of Valhalla.
- 24 Java Features You Missed In 2022 - Inside Java Newscast #39 by (15 December 2022) ► A list of minor features.
- Java's Plans for 2023 - Inside Java Newscast #40 by (19 January 2023) ► The current status of the Java projects.
- Future Java - Prepare Your Codebase Now! - Inside Java Newscast #41 by (2 February 2023) ► A list of the main deprecations.
- From Java Security with Love - Inside Java Newscast #42 by (14 February 2023) ► A list of cryptography related changes.
- The Holy Grail of Java Performance - Inside Java Newscast #43 by (2 March 2023) ► A presentation of condensers: programs that modify a compiled Java program to optimise in one way or another.
- Java 20 Unboxing - Inside Java Newscast #44 by (23 March 2023) ► A very long and very boring list of the changes in Java 20.
- Java 21's New (Sequenced) Collections - Inside Java Newscast #45 by (30 March 2023) ► A presentation of
SequencedCollection,SequencedSet, andSequencedMap. - Getting Rid Of Unused Variables (Finally) - Inside Java Newscast #46 by (13 April 2023) ► A presentation of JEP 443 which proposes to add unnamed patterns and unnamed variables.
- Interpolating Strings Like a King in Java 21 - Inside Java Newscast #47 by (27 April 2023) ► A presentation of String Templates (JEP 430).
- Save 10-20% Memory With Compact Headers - Inside Java Newscast #48 by (11 May 2023) ► A description of JEP 450 which aims at reducing object header size by merging the class word into the mark word.
- Script Java Easily in 21 and Beyond - Inside Java Newscast #49 by (25 May 2023) ► Hum… they continue to consider adding features (unnamed classes, instance
mainmethods, running a program defined by Java source code) to make scripting easier and Java more accessible to beginners. - All That is in Java 21?! 😱 - Inside Java Newscast #50 by (8 June 2023) ► A summary of Java 21 content.
- Java 21 is no LTS Version - Inside Java Newscast #52 by (6 July 2023) ► LTS are for the vendors of a JDK, Java has no LTS by itself.
- What's Arriving for JFR in JDK 21 - Inside Java Newscast #53 by (20 July 2023) ► The JFR improvements that are parts of Java 21, in particular
jfr view. - Strengthen your Java App's Defenses with Key Encapsulation Mechanism API - Inside Java Newscast #54 by (3 August 2023) ► A presentation of the Key Encapsulation Mechanism (KEM) API.
- JDK 21 Release Notes - Inside Java Newscast #55 by (21 September 2023) ► Yet another very long list of changes, this time in Java 21.
- New Class-File API will make Java Updates easier - Inside Java Newscast #56 by (5 October 2023) ► A description of the interest of the future Class-File API.
- Better Java Streams with Gatherers - Inside Java Newscast #57 by (2 November 2023) ► A description of JEP 461:
Gatherers would enable the definition of any intermediate stream operation. - Java On The GPU - Inside Java Newscast #58 by (16 November 2023) ► A presentation of the Babylon project which will support code reflection and will enable the writing of libraries to run Java on GPUs.
- Java 22 Unpacking - Inside Java Newscast #59 by (7 December 2023) ► Java 22 feature list.
- Java's Plans for 2024 - Inside Java Newscast #61 by (18 January 2024) ► The status of the Java projects.
- Java 22 Previews Statements Before `super(...)` and `this(...)` - Inside Java Newscast #62 by (1 February 2024) ► A description of JEP 447 which allow statements not referencing the instance being created to appear before an explicit constructor invocation.
- Does Java 22 Kill Build Tools? - Inside Java Newscast #63 by (15 February 2024) ► Java 22 will support multi source-file execution.
- (Dirty?) Tricks in Java 22 - Inside Java Newscast #64 by (29 February 2024) ► Expandable sealed classes, nested switches, inverted
instanceoftest, filtering a stream by type, an alternative toOptionalusing pattern matching, newlines in text blocks. - Java 22 Release Notes Review - Inside Java Newscast #65 by (14 March 2024) ► The usual boring long list of changes.
- Java 23: Restoring the Balance with Primitive Patterns - Inside Java Newscast #66 by (4 April 2024) ► Java 23 will add Primitive Patterns. Then, later on, Deconstruction Patterns, Static Patterns, Instance Patterns, and Constant Patterns may be added.
- Java Withers - Inside Java Newscast #67 by (18 April 2024) ► JEP 468: creating derived record using
with. - JavaDoc Hits the Markdown on Comments - Inside Java Newscast #68 by (2 May 2024) ► JEP 467: JavaDoc written in Markdown.
- Module Imports in Java 23 - Inside Java Newscast #69 by (16 May 2024) ► JEP 476: Module Import Declarations.
- All Java 23 Features - Inside Java Newscast #70 by (6 June 2024) ► The content of Java 23.
- What Happened to Java's String Templates? Inside Java Newscast #71 by (20 June 2024) ► An explanation of why String Templates have been removed.
- Java and AI? - Inside Java Newscast #72 by (4 July 2024) ► explains that, given that AI will become just a technical enabler for some features, Java will still be used for creating applications, but Java is very far from being practical for AI model development.
- Why Is Integrity by Default So Important? - Inside Java Newscast #73 by (18 July 2024) ► OpenJDK continues to disable, by default, all features that could have unexpected consequences on the data.
- How to Read a JDK Enhancement Proposal - Inside Java Newscast #74 by (1 August 2024) ► A FAQ about JEPs and their process.
- Best of Java Performance - Inside Java Newscast #75 by (29 August 2024) ► A short presentation of each talk of the JVM Language Summit 2024.
- Reviewing the JDK 23 Release Notes - Inside Java Newscast #76 by (19 September 2024) ► The usual boring long list of changes.
- Big News from Project Valhalla - Inside Java Newscast #77 by (3 October 2024) ► An update on the proposal for Valhalla.
- A Preview of What's Coming in Project Leyden - Inside Java Newscast #78 by (17 October 2024) ► Yet another status update on project Leyden and a basic small benchmark of the gain of exploiting a training run.
- Release Your (Java) Projects Like OpenJDK With Tip & Tail - Inside Java Newscast #79 by (31 October 2024) ► A presentation of tip & tail, a release model for libraries: the tip is the most up-to-date version, the tails are releases were only critical bug fixes are bakported.
- Java 24 Stops Pinning Virtual Threads (Almost) - Inside Java Newscast #80 by (21 November 2024) ► Virtual threads are not pinned anymore to their plateform thread when they are in a synchronised block.
- Java 24 Language & API Changes - Inside Java Newscast #81 by (5 December 2024) ► The JEPs related to the language and the APIs.
- Java 24 Performance Improvements & Deprecations - Inside Java Newscast #82 by and (12 December 2024) ► The JEPs related to performance and to deprecations.
- Java's Plans for 2025 - Inside Java Newscast #83 by (16 January 2025) ► Yet another status update on the Babylon, Loom, Leyden, Lilliput, Panama, and Valhalla projects.
- Java Language Evolution in 2025 - Inside Java Newscast #84 by (30 January 2025) ► The continuation of the previous video: the current status and some possible future features of the Amber project.
- Java Resists Quantum Attacks - Inside Java Newscast #85 by (13 February 2025) ► The changes in Java 24 for quantum-resistant cryptography.
- Scoped Values in Java 24 - Inside Java Newscast #86 by (27 February 2025) ► Yet another presentation of
ScopedValue. - Java 24 Release Notes Review for Developers - Inside Java Newscast #87 by (13 March 2025) ► The changes impacting developers.
- ↪Java 24 Release Notes Overview for Operations by (29 March 2025) ► This is mostly about the tools and their command line parameters.
- ↪Java 24 Release Notes Overview - Security Update by (5 April 2025) ► The changes related to security features.
- Stable Values in Java 25 - Inside Java Newscast #88 by (27 March 2025) ► A presentation of
StableValue, introduced by JEP 502. - JavaOne'25 Highlights - Inside Java Newscast #89 by (10 April 2025) ► Some extracts of JavaOne’25 presentations and interviews.
- Finalizing the Java On-ramp - Inside Java Newscast #90 by (24 April 2025) ► The continuation (and end?) and renaming of the simplification for Java new comers.
- Structured Concurrency Revamp in Java 25 - Inside Java Newscast #91 by (8 May 2025) ► The changes performed on Structured Concurrency between JDK 24 and JDK 25.
- Java 25 Brings 18 JEPs 😱 Inside Java Newscast #92 by (5 June 2025) ► An overview of the Java 25 features.
- Java 25 Encodes PEM - Inside Java Newscast #93 by (19 June 2025) ► An API to manage PEM encoding/decoding is previewed in JDK 25.
- Java 25 is ALSO no LTS Version - Inside Java Newscast #94 by (3 July 2025) ► Yet another explanation that there is no LTS Java version.
- Java Gets a JSON API - Inside Java Newscast #95 by (17 July 2025) ► proposed a simplistic JSON-parsing library which will get easier to exploit when pattern matching will continue to improve.
- HTTP/3 in Java - Inside Java Newscast #96 by (31 July 2025) ► Some little information about Java’s future support of HTTP/3.
- Java Architects Answer Your Questions - Inside Java Newscast #97 by , , , , , , , and (14 August 2025) ► Q & A.
- What’s New in JDK 25? Full Release Notes Breakdown - Inside Java Newscast #98 by (25 September 2025) ► The Java 25 release notes.
- G1 GC: 3 Upcoming Improvements - Inside Java Newscast #99 by (23 October 2025) ► The improvements on the G1 Garbage Collector.
- Try the New Valhalla EA Build - Inside Java Newscast #100👑 by (6 November 2025) ► The first half of the video is yet another presentation of Valhalla. The second half is a Q&A and a presentation of the Java communication team.
- Java 26 Warns of Deep Reflection - Inside Java Newscast #101 by (20 November 2025) ► The plan to make
finalfields really immutable. - All Features in Java 26 - Inside Java Newscast #102 by (4 December 2025) ► An overview of the Java 26 features, previews, and removals.
- Java's Progress in 2025 - Inside Java Newscast #103 by (18 December 2025) ► Yet another status of the Java projects and some promotion for JavaOne.
- Java's Plans for 2026 - Inside Java Newscast #104 by (8 January 2026) ► Some predictions on what each Java projects will deliver in 2026.
- Carrier Classes; Beyond Records - Inside Java Newscast #105 by (22 January 2026) ► Carrier classes would be data classes more malleable than records.
- LazyConstants in JDK 26 - Inside Java Newscast #106 by (5 February 2026) ► A presentation of Lazy Constants, the next stage following the idea of Stable Values.
- Towards Better Checked Exceptions - Inside Java Newscast #107 by (19 February 2026) ► The conclusion of this musing about how exceptions could be improved in Java is that there is no good general solution.
- Unboxing Java 26 for Developers - Inside Java Newscast #108 by (5 March 2026) ► Java 26 release notes.
- JEP Café
- What is a JEP? - JEP Café #1 by (23 June 2021) ► The title says it all.
- Sealed Classes - JEP Café #2 by (22 July 2021) ► An overview of sealed classes.
- Switch Expressions - JEP Café #3 by (19 August 2021) ► An overview of switch expressions.
- The Packaging Tool aka `jpackage` - JEP Café #4 by (9 September 2021) ► A presentation and a small demo of
jpackage. - Text Blocks - JEP Café #5 by (21 October 2021) ► A presentation of text blocks.
- Factory Methods for Collections - JEP Café #6 by (18 November 2021) ►
List.of(),Set.of(),Map.of(),Arrays.asList(),List.copyOf(), andStream.toList(). - String Concatenation - JEP Café #7 by (9 December 2021) ► The performance improvements done in the JVM for string concatenation.
- Records Patterns, Performance and Serialization - JEP Café #8 by (6 January 2022) ► The title says it all.
- Refactoring Java 8 code with Java 17 new features - JEP Café #9 by (1 February 2022) ► Three katas using streams and records.
- Leverage Java 17 New Features to Create Your Wordle Checker - JEP Café #10 by (22 February 2022) ► A kata: using some recent Java features to implement Wordle.
- Java 19 Virtual Threads - JEP Café #11 by (8 June 2022) ► An overview of virtual threads.
- Launching 10 millions virtual threads with Loom - JEP Café #12 by (6 July 2022) ► A technical presentation of virtual threads.
- Java 17 to 20 Pattern Matching Full tutorial with Records, Instanceof and Switch - JEP Café #14 by (8 November 2022) ► A good overview of the current status of Pattern Matching.
- Java Value Objects in Action with Valhalla - JEP Café #15 by (6 December 2022) ► A clear overview of value based classes and some information about primitive classes.
- Java 20 - From ThreadLocal to ScopedValue with Loom Full Tutorial - JEP Café #16 by (10 January 2023) ► A description of the old
ThreadLocaland the newScopeValue, and why the second one is better. - Write Efficient Bug-free and Simple Comparators in Java - JEP Café #17↑ by (21 February 2023) ► Use
Comparator’s methods to implement comparators, use methods of the wrapper classes to compare numbers, and do not use mutable fields inequalsor in comparators. - Learn how to write fast Java code with the Vector API - JEP Café #18 by (14 March 2023) ► The basics of SIMD and an introduction to the Vector API.
- Java 21 New Feature: Sequenced Collections - JEP Cafe #19 by (18 June 2023) ► A remainder of the Collection API and a presentation of the Sequenced Collections.
- Choosing between ArrayList and LinkedList - JEP Cafe #20 by (11 October 2023) ► Some well-known facts about
ArrayListandLinkedList. - Optimizing your equals() methods with Pattern Matching - JEP Cafe #21 by (9 November 2023) ► Some microbenchmarks and an explanation of the branch prediction impact to explain why implementing
equals()with pattern matching is currently the fastest. - Data Oriented Programming in Java 21, Solving the Countdown game - JEP Cafe #22 by (8 February 2024) ► Yet another Countdown resolution, this one using
Stream.mapMulti()and Gatherers.
- Stack Walker
- Java Serialization: Spooky Action at a Distance by (21 February 2026) ► A description of some of the problems with serialisation.
- Sip of Java
- What’s New in Java 24 in 2 Minutes... More or Less - Sip of Java by (21 March 2025) ► A fast-paced presentation of Java 24.