{"id":122618,"date":"2026-02-16T07:32:52","date_gmt":"2026-02-16T07:32:52","guid":{"rendered":"https:\/\/foojay.io\/?p=122618"},"modified":"2026-02-09T16:07:28","modified_gmt":"2026-02-09T16:07:28","slug":"foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25","status":"publish","type":"post","link":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/","title":{"rendered":"Foojay Podcast #90: Highlights of the Java Features Between LTS 21 and 25"},"content":{"rendered":"\n    <div class=\"article__table\">\n        <div class=\"article__table-header\">\n            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <path d=\"M8 6H21\" stroke=\"#3562E5\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                <path d=\"M8 12H21\" stroke=\"#3562E5\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                <path d=\"M8 18H21\" stroke=\"#3562E5\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                <path d=\"M3 6H3.01\" stroke=\"#3562E5\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                <path d=\"M3 12H3.01\" stroke=\"#3562E5\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n                <path d=\"M3 18H3.01\" stroke=\"#3562E5\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n            <\/svg>\n            Table of Contents\n            <svg class=\"chevron\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <path d=\"M18 15L12 9L6 15\" stroke=\"#3562E5\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n            <\/svg>\n        <\/div>\n        <div class=\"article__table-body\"><span><a href=\"#h2-0--ou-ube\">YouTube<\/a><\/span><span><a href=\"#h2-1--odcast-pps\">Podcast Apps<\/a><\/span><span><a href=\"#h2-2--uests\">Guests<\/a><\/span><span><a href=\"#h2-3--ontent\">Content<\/a><\/span><\/div><\/div><!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<?xml encoding=\"utf-8\" ?><html><body><p>Every six months, we get a new version of Java. Java 26 is just around the corner and will be released soon. But most companies stick to LTS (Long-Term Support) versions, which are maintained and receive security updates for many more years. Versions 8, 11, 17, 21, and 25 are such LTS versions. Hopefully, most of your systems are already on the latest versions and you are not stuck on 8 or earlier. As a reminder, 8 was released in 2014, so much has changed since then.<\/p>\n\n\n\n<p>If you are doubting moving from 21 to 25, or even from an earlier version to the latest LTS, this podcast is for you! Together with Jakob Jenkov, we discussed the most important changes, and this episode includes a few quotes from interviews recorded at conferences last year.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h2-0--ou-ube\">YouTube<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"From Java 21 to 25: The Features That Changed Everything (#90)\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/fKDhVUEVT3g?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h2-1--odcast-pps\">Podcast Apps<\/h2>\n\n\n\n<p>You can listen and subscribe to the Foojay Podcast on:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a target=\"_blank\" href=\"https:\/\/open.spotify.com\/show\/6CpTfgn9LirzJGAtc4ICdQ\">Spotify<\/a><\/li>\n\n\n\n<li><a target=\"_blank\" href=\"https:\/\/podcasts.apple.com\/be\/podcast\/foojay-io-the-friends-of-openjdk\/id1652281304\">Apple Podcasts<\/a><\/li>\n\n\n\n<li>And most others...<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h2-2--uests\">Guests<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Jakob Jenkov\n<ul class=\"wp-block-list\">\n<li><a target=\"_blank\" href=\"https:\/\/www.linkedin.com\/in\/jakob-jenkov-4a3a8\/\">https:\/\/www.linkedin.com\/in\/jakob-jenkov-4a3a8\/<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Jonathan Vila\n<ul class=\"wp-block-list\">\n<li><a target=\"_blank\" href=\"https:\/\/www.linkedin.com\/in\/jonathanvila\/\">https:\/\/www.linkedin.com\/in\/jonathanvila\/<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Ryan Svihla\n<ul class=\"wp-block-list\">\n<li><a target=\"_blank\" href=\"https:\/\/www.linkedin.com\/in\/ryan-svihla-096752182\/\">https:\/\/www.linkedin.com\/in\/ryan-svihla-096752182\/<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Mary Grygleski\n<ul class=\"wp-block-list\">\n<li><a target=\"_blank\" href=\"https:\/\/www.linkedin.com\/in\/mary-grygleski\/\">https:\/\/www.linkedin.com\/in\/mary-grygleski\/<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Anton Arhipov\n<ul class=\"wp-block-list\">\n<li><a target=\"_blank\" href=\"https:\/\/www.linkedin.com\/in\/antonarhipov\/\">https:\/\/www.linkedin.com\/in\/antonarhipov\/<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Ronald Dehuysser\n<ul class=\"wp-block-list\">\n<li><a target=\"_blank\" href=\"https:\/\/www.linkedin.com\/in\/ronalddehuysser\/\">https:\/\/www.linkedin.com\/in\/ronalddehuysser\/<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Jonathan Ellis\n<ul class=\"wp-block-list\">\n<li><a target=\"_blank\" href=\"https:\/\/www.linkedin.com\/in\/jbellis\/\">https:\/\/www.linkedin.com\/in\/jbellis\/<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h2-3--ontent\">Content<\/h2>\n\n\n\n<p>00:00 Introduction of topic and guest<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a target=\"_blank\" href=\"https:\/\/jenkov.com\/tutorials\/java\/index.html\">Tutorials by Jakob<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/foojay-podcast-89\/\">Podcast #89: Quarkus and Agentic Commerce<\/a><\/li>\n<\/ul>\n\n\n\n<p>03:30 Bugfixes and performance improvements \"under the hoods\"<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Quote Jonathan Vila<\/em><\/li>\n<\/ul>\n\n\n\n<p>08:00 Java as a scripting language<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Quote Ryan Svihla<\/em><\/li>\n\n\n\n<li>Compact Source Files and Instance Main methods<\/li>\n\n\n\n<li>Launch Multi-File Source-Code Programs<\/li>\n\n\n\n<li><a target=\"_blank\" href=\"https:\/\/www.jbang.dev\/\">https:\/\/www.jbang.dev\/<\/a><\/li>\n\n\n\n<li><em>Quote Mary Grygleski<\/em><\/li>\n<\/ul>\n\n\n\n<p>15:03 GC Improvements<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Generational Shenandoah<\/li>\n\n\n\n<li><a target=\"_blank\" href=\"https:\/\/www.youtube.com\/watch?v=Jh79ojcror0\">Trash Talk - Exploring the JVM memory management by Gerrit Grunwald<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/what-should-i-know-about-garbage-collection-as-a-java-developer\/\">What Should I Know About Garbage Collection as a Java Developer?<\/a><\/li>\n<\/ul>\n\n\n\n<p>19:44 Project Loom: Virtual Threads and Structured Concurrency<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Quote Anton Arhipov<\/em><\/li>\n<\/ul>\n\n\n\n<p>29:44 How Java evolves<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>6-months release cycle<\/li>\n\n\n\n<li>How incubator and preview features are used to get feedback from the <strong>community<\/strong><\/li>\n\n\n\n<li>Long-Term Support Short-Term Support versions<\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/foojay-podcast-28\/\">Foojay Podcast #28: Java 21 Has Arrived!<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/foojay-podcast-45\/\">Foojay Podcast #45: Welcome to Java 22<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/foojay-podcast-57\/\">Foojay Podcast #57: Welcome to OpenJDK (Java) 23<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/foojay-podcast-68\/\">Foojay Podcast #68: Welcome to OpenJDK (Java) 24<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/foojay-podcast-78\/\">Foojay Podcast #78: Welcome to OpenJDK 25!<\/a><\/li>\n<\/ul>\n\n\n\n<p>32:15 Project Leyden: Ahead-of-time features<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahead-of-Time Command-Line Ergonomics<\/li>\n\n\n\n<li>Ahead-of-Time Method Profiling<\/li>\n\n\n\n<li>Ahead-of-Time Class Loading &amp; Linking<\/li>\n<\/ul>\n\n\n\n<p>39:15 Project Babylon<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Java on CPU, GPU, FPGA?<\/li>\n\n\n\n<li>This is already possible with TornadoVM<\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/foojay-podcast-82\/\">Foojay Podcast #82: OpenJDK Projects (Leyden, Babylon, Panama) and TornadoVM<\/a><\/li>\n<\/ul>\n\n\n\n<p>43:25 Class-File API<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Quote Ronald Dehuysser<\/em><\/li>\n\n\n\n<li><a target=\"_blank\" href=\"https:\/\/webtechie.be\/post\/2025-10-30-jfxinaction-matt-coley-recaf-bentofx-treemapfx-glcanvasfx\/\">JavaFX In Action #22 with Matt Coley, diving into byte code and JARs with Recaf and JavaFX libraries<\/a><\/li>\n<\/ul>\n\n\n\n<p>49:20 Foreign Function and Memory API<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/foojay.io\/today\/the-ffm-api-how-openjdk-changed-the-game-for-native-interactions-and-made-pi4j-better\/\">The FFM API: How OpenJDK Changed the Game for Native Interactions (And Made Pi4J Better!)<\/a><\/li>\n\n\n\n<li><a target=\"_blank\" href=\"https:\/\/webtechie.be\/post\/2026-01-27-jchampions-talk-ffmapi-on-raspberrypi\/\">jChampions Conference talk 'Foreign Function &amp; Memory (FFM) API on Raspberry Pi'<\/a><\/li>\n<\/ul>\n\n\n\n<p>54:26 Vector API<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><em>Quote Jonathan Ellis + Ryan Svihla<\/em><\/li>\n<\/ul>\n\n\n\n<p>59:59 Removal of String templates<\/p>\n\n\n\n<p>01:00:26 Taking a look into the JVM of the future<\/p>\n\n\n\n<p>01:03:08 Conclusion<\/p>\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>Table of Contents YouTubePodcast AppsGuestsContent Every six months, we get a new version of Java. Java 26 is just around the corner and will be released soon. But most companies stick to LTS (Long-Term Support) versions, which are maintained and &#8230;<\/p>\n","protected":false},"author":47,"featured_media":122634,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1722,803,488],"tags":[1439,2352],"class_list":["post-122618","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","category-java-core","category-podcast","tag-java-21","tag-java-25"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Foojay Podcast #90: Highlights of the Java Features Between LTS 21 and 25<\/title>\n<meta name=\"description\" content=\"foojay is the place for all OpenJDK Update Release Information. Learn More.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Foojay Podcast #90: Highlights of the Java Features Between LTS 21 and 25\" \/>\n<meta property=\"og:description\" content=\"foojay is the place for all OpenJDK Update Release Information. Learn More.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/\" \/>\n<meta property=\"og:site_name\" content=\"foojay\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-16T07:32:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/foojay.io\/wp-content\/uploads\/2026\/02\/episode-90-java-21-to-25.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Frank Delporte\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Frank Delporte\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/\"},\"author\":{\"name\":\"Frank Delporte\",\"@id\":\"https:\\\/\\\/foojay.io\\\/#\\\/schema\\\/person\\\/a396e036ad1bf495d0920486b5b6c558\"},\"headline\":\"Foojay Podcast #90: Highlights of the Java Features Between LTS 21 and 25\",\"datePublished\":\"2026-02-16T07:32:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/\"},\"wordCount\":470,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/foojay.io\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/foojay.io\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/episode-90-java-21-to-25.jpg\",\"keywords\":[\"Java 21\",\"java 25\"],\"articleSection\":[\"Java\",\"Java Core\",\"Podcast\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/\",\"url\":\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/\",\"name\":\"Foojay Podcast #90: Highlights of the Java Features Between LTS 21 and 25\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/foojay.io\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/foojay.io\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/episode-90-java-21-to-25.jpg\",\"datePublished\":\"2026-02-16T07:32:52+00:00\",\"description\":\"foojay is the place for all OpenJDK Update Release Information. Learn More.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/#primaryimage\",\"url\":\"https:\\\/\\\/foojay.io\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/episode-90-java-21-to-25.jpg\",\"contentUrl\":\"https:\\\/\\\/foojay.io\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/episode-90-java-21-to-25.jpg\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/foojay.io\\\/today\\\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/foojay.io\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Foojay Podcast #90: Highlights of the Java Features Between LTS 21 and 25\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/foojay.io\\\/#website\",\"url\":\"https:\\\/\\\/foojay.io\\\/\",\"name\":\"foojay\",\"description\":\"a place for friends of OpenJDK\",\"publisher\":{\"@id\":\"https:\\\/\\\/foojay.io\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/foojay.io\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/foojay.io\\\/#organization\",\"name\":\"foojay\",\"url\":\"https:\\\/\\\/foojay.io\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/foojay.io\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/foojay.io\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/cropped-Favicon.png\",\"contentUrl\":\"https:\\\/\\\/foojay.io\\\/wp-content\\\/uploads\\\/2020\\\/04\\\/cropped-Favicon.png\",\"width\":512,\"height\":512,\"caption\":\"foojay\"},\"image\":{\"@id\":\"https:\\\/\\\/foojay.io\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/foojay2020\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/foojay.io\\\/#\\\/schema\\\/person\\\/a396e036ad1bf495d0920486b5b6c558\",\"name\":\"Frank Delporte\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/foojay.io\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/cropped-frank-delporte-scaled-1-96x96.jpg\",\"url\":\"https:\\\/\\\/foojay.io\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/cropped-frank-delporte-scaled-1-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/foojay.io\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/cropped-frank-delporte-scaled-1-96x96.jpg\",\"caption\":\"Frank Delporte\"},\"description\":\"Frank Delporte is a Java Champion, Java Developer, Technical Writer at Azul, Blogger, Author of \\\"Getting started with Java on Raspberry Pi\\\", and Pi4J Contributor. Frank blogs about his experiments with Java and JavaFX, sometimes combined with electronic components, on the Raspberry Pi.\",\"sameAs\":[\"https:\\\/\\\/webtechie.be\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/frankdelporte\\\/\"],\"url\":\"https:\\\/\\\/foojay.io\\\/today\\\/author\\\/frankdelporte\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Foojay Podcast #90: Highlights of the Java Features Between LTS 21 and 25","description":"foojay is the place for all OpenJDK Update Release Information. Learn More.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/","og_locale":"en_US","og_type":"article","og_title":"Foojay Podcast #90: Highlights of the Java Features Between LTS 21 and 25","og_description":"foojay is the place for all OpenJDK Update Release Information. Learn More.","og_url":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/","og_site_name":"foojay","article_published_time":"2026-02-16T07:32:52+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/foojay.io\/wp-content\/uploads\/2026\/02\/episode-90-java-21-to-25.jpg","type":"image\/jpeg"}],"author":"Frank Delporte","twitter_misc":{"Written by":"Frank Delporte","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/#article","isPartOf":{"@id":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/"},"author":{"name":"Frank Delporte","@id":"https:\/\/foojay.io\/#\/schema\/person\/a396e036ad1bf495d0920486b5b6c558"},"headline":"Foojay Podcast #90: Highlights of the Java Features Between LTS 21 and 25","datePublished":"2026-02-16T07:32:52+00:00","mainEntityOfPage":{"@id":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/"},"wordCount":470,"commentCount":0,"publisher":{"@id":"https:\/\/foojay.io\/#organization"},"image":{"@id":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/#primaryimage"},"thumbnailUrl":"https:\/\/foojay.io\/wp-content\/uploads\/2026\/02\/episode-90-java-21-to-25.jpg","keywords":["Java 21","java 25"],"articleSection":["Java","Java Core","Podcast"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/","url":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/","name":"Foojay Podcast #90: Highlights of the Java Features Between LTS 21 and 25","isPartOf":{"@id":"https:\/\/foojay.io\/#website"},"primaryImageOfPage":{"@id":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/#primaryimage"},"image":{"@id":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/#primaryimage"},"thumbnailUrl":"https:\/\/foojay.io\/wp-content\/uploads\/2026\/02\/episode-90-java-21-to-25.jpg","datePublished":"2026-02-16T07:32:52+00:00","description":"foojay is the place for all OpenJDK Update Release Information. Learn More.","breadcrumb":{"@id":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/#primaryimage","url":"https:\/\/foojay.io\/wp-content\/uploads\/2026\/02\/episode-90-java-21-to-25.jpg","contentUrl":"https:\/\/foojay.io\/wp-content\/uploads\/2026\/02\/episode-90-java-21-to-25.jpg","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/foojay.io\/"},{"@type":"ListItem","position":2,"name":"Foojay Podcast #90: Highlights of the Java Features Between LTS 21 and 25"}]},{"@type":"WebSite","@id":"https:\/\/foojay.io\/#website","url":"https:\/\/foojay.io\/","name":"foojay","description":"a place for friends of OpenJDK","publisher":{"@id":"https:\/\/foojay.io\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/foojay.io\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/foojay.io\/#organization","name":"foojay","url":"https:\/\/foojay.io\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/foojay.io\/#\/schema\/logo\/image\/","url":"https:\/\/foojay.io\/wp-content\/uploads\/2020\/04\/cropped-Favicon.png","contentUrl":"https:\/\/foojay.io\/wp-content\/uploads\/2020\/04\/cropped-Favicon.png","width":512,"height":512,"caption":"foojay"},"image":{"@id":"https:\/\/foojay.io\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/foojay2020"]},{"@type":"Person","@id":"https:\/\/foojay.io\/#\/schema\/person\/a396e036ad1bf495d0920486b5b6c558","name":"Frank Delporte","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/foojay.io\/wp-content\/uploads\/2025\/05\/cropped-frank-delporte-scaled-1-96x96.jpg","url":"https:\/\/foojay.io\/wp-content\/uploads\/2025\/05\/cropped-frank-delporte-scaled-1-96x96.jpg","contentUrl":"https:\/\/foojay.io\/wp-content\/uploads\/2025\/05\/cropped-frank-delporte-scaled-1-96x96.jpg","caption":"Frank Delporte"},"description":"Frank Delporte is a Java Champion, Java Developer, Technical Writer at Azul, Blogger, Author of \"Getting started with Java on Raspberry Pi\", and Pi4J Contributor. Frank blogs about his experiments with Java and JavaFX, sometimes combined with electronic components, on the Raspberry Pi.","sameAs":["https:\/\/webtechie.be\/","https:\/\/www.linkedin.com\/in\/frankdelporte\/"],"url":"https:\/\/foojay.io\/today\/author\/frankdelporte\/"}]}},"_links":{"self":[{"href":"https:\/\/foojay.io\/wp-json\/wp\/v2\/posts\/122618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/foojay.io\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/foojay.io\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/foojay.io\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/foojay.io\/wp-json\/wp\/v2\/comments?post=122618"}],"version-history":[{"count":0,"href":"https:\/\/foojay.io\/wp-json\/wp\/v2\/posts\/122618\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/foojay.io\/wp-json\/wp\/v2\/media\/122634"}],"wp:attachment":[{"href":"https:\/\/foojay.io\/wp-json\/wp\/v2\/media?parent=122618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/foojay.io\/wp-json\/wp\/v2\/categories?post=122618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/foojay.io\/wp-json\/wp\/v2\/tags?post=122618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}