Foojay.io, the Friends Of OpenJDK!

Foojay.io

The podcast of foojay.io, a central resource for the Java community’s daily ​information needs, a place for friends of OpenJDK, ​and a community platform for the Java ecosystem​ — bringing together and helping Java professionals everywhere.

  1. Developing Performant, Cost Efficient, and Eco-friendly Code (#84)

    4 DAYS AGO

    Developing Performant, Cost Efficient, and Eco-friendly Code (#84)

    In this Foojay Podcast, we're exploring a critical topic that's becoming increasingly important in our industry: developing sustainable software that is both performant and environmentally friendly. At the Devoxx and JFall conferences, I had fascinating conversations about how we as Java developers can make a real impact on both our cloud costs and our carbon footprint. And it's interesting to learn how these two goals are often perfectly aligned: what's good for your budget is usually good for the planet too. We start with Daniel Witkowski. He published an article on Foojay that takes us on a deep dive into performance tuning. He explains why optimizing your code can have a thousand times more impact than saving 30% on cloud costs, and walks us through his journey of turning a simple integer validation challenge into a masterclass on Java performance optimization. Next, I caught up with Ko Turk, who shares his passion for sustainable engineering and space exploration. He introduces us to Kepler, a tool for monitoring the energy consumption of your applications, and explains how performance optimization naturally leads to sustainability improvements. Then Ronald Dehuysser, founder of JobRunr, reveals how his open-source job-scheduling library now enables carbon-aware job processing. He explains how JobRunr can automatically schedule non-time-critical jobs to run when renewable energy is most available. And finally, Jan Ouwens joins us to discuss practical strategies for reducing both costs and CO2 emissions in your applications. He explains why cloud spending is actually a good proxy for your carbon footprint. 00:00 Introduction of topic and guests 02:07 Daniel Witkowski https://www.linkedin.com/in/danielwitkowskihttps://foojay.io/today/the-art-of-performance-tuning-why-saving-30-in-the-cloud-means-nothing-if-your-code-wastes-1000x-more/https://foojay.io/today/foojay-podcast-83/Why Saving 30% in the Cloud Means Nothing if Your Code Wastes 1000× MorePerformance tuning is less about syntax and more about craftsmanship.29:46 Ko Turk https://www.linkedin.com/in/ko-turk-b271b929/https://github.com/sustainable-computing-io/keplerSustainable engineeringKubernetes Efficient Power Level Exporter (Kepler)32:46 Ronald Dehuysser https://www.linkedin.com/in/ronalddehuysser/https://www.jobrunr.io/en/Carbon-aware job processing with JobRunrGrowing from an open-source project to a company37:36 Jan Ouwens https://www.linkedin.com/in/janouwens/https://jqno.nl/Reducing the cost and CO2-emissions of your applicationPrivate cloud versus cloud providers45:14 Outro

    46 min
  2. OpenJDK Evolutions plus Tips and Tricks (#83)

    22 NOV

    OpenJDK Evolutions plus Tips and Tricks (#83)

    Welcome to another episode of the Foojay Podcast! Just like in the previous episode, I bring you conversations from two of Europe's premier Java conferences - Devoxx in Belgium and JFall in the Netherlands. At these conferences, I had the opportunity to speak with members of the Java community about topics ranging from the evolution of Java itself to mobile development, performance optimization, and even automotive security. My first guest is Johan Vos, a Java Champion who takes us on a journey through Java's history - from porting Java to Linux in 1995 to his current work on bringing Java and JavaFX to mobile and embedded devices through the Java On Mobile project. Then we'll hear from Stephen Chin, author of "The Definitive Guide to Modern Java Clients with JavaFX," who shares insights on building cross-platform client applications and reflects on how his daughter has followed in his footsteps to become a published author and technology educator. From JFall, Joseph Phillips joins us to discuss Java's evolution, the differences between REST and gRPC, and whether virtual threads have replaced the need for async implementations in modern Java applications. Next, François Martin walks us through the world of Java performance benchmarking with JMH - the Java Microbenchmark Harness - and explains why it's so valuable for comparing different implementations and optimizing code. Wouter De Geus shares his inspiring journey from finance and mathematics into Java development, and how his employer, the Dutch Tax Authority, supports open-source contributions and the Java community. And finally, Roald Nefs demonstrates something truly unique - using Java and the Foreign Function & Memory API to hack into automotive systems, revealing important security considerations for both hardware and software. Content 00:00 Introduction of topics and guests 02:11 Johan Vos https://www.linkedin.com/in/johanvos/History of Java on LinuxHow the Java language and runtime are stable and evolving at the same timeLooking at the future of Write-Once-Run-Everywhere with Java(FX) on Mobilehttps://openjdk-mobile.github.io/19:04 Stephen Chin https://www.linkedin.com/in/steveonjava/Author of "The Definitive Guide to Modern Java Clients with JavaFX"Cassandra Chin: https://www.linkedin.com/in/cassandra-chin-developer/ Her book: https://www.amazon.nl/Raising-Young-Coders-Teaching-Programming/dp/B0DVBQZ48323:22 Joseph Phillips https://foojay.social/deck/@infosec812Java evolutions, communityREST versus gRPCDo we still need async or are virtual threads a better solution?27:49 François Martin https://www.linkedin.com/in/fran%C3%A7oismartinJava performance micro benchmarks with jmhhttps://github.com/openjdk/jmh33:30 Wouter De Geus https://www.linkedin.com/in/wadegeus/Moved from finance to software developmentContributing back to the open-source community39:33 Roald Nefs https://www.linkedin.com/in/roaldnefs/Hacking cars with the FFM APIHardware and software security concernsWhat you can learn from the Java community46:29 Outro

    47 min
  3. OpenJDK Projects (Leyden, Babylon, Panama) and TornadoVM (#82)

    15 NOV

    OpenJDK Projects (Leyden, Babylon, Panama) and TornadoVM (#82)

    In this Foojay Podcast, we're diving deep into some of the most exciting developments happening within the OpenJDK and TornadoVM projects. At the Devoxx and JFall conferences, we spoke with several speakers and visitors about some of the major themes that are shaping the future of Java development. The first guest is Moritz Halbritter from the Spring Engineering team. He provides us with more insights into Project Leyden and how it's improving Java startup times through ahead-of-time compilation and profiling. We'll learn how Spring Boot developers can already take advantage of these improvements today. Next, we'll hear from John Cecerralli at Azul about performance optimizations, the evolution from x86 to ARM64 architectures, and how OpenJDK Projects bring improvements to the JVM itself at levels we couldn't achieve before. Then, Balkrishna Rawool will guide us through the world of vector databases and explain how Java's Vector API from Project Panama is perfectly positioned for AI use cases, despite its development beginning years before the current AI boom. And finally, we'll meet some of the team members behind TornadoVM - Christos Kotselidis and Michalis Papadimitriou from the University of Manchester - who will explain to us how Java developers can now harness the power of GPUs for AI workloads, running large language models in pure Java without leaving the Java ecosystem. They also explain the connection between TornadoVM and the OpenJDK Project Babylon. 00:00 Introduction of topics and guests 01:58 Moritz Halbritter * https://www.linkedin.com/in/moritz-halbritter-9301a1b1/ * Project Leyden and how it can already be used with Spring * Difference between the approach of Project Leyden and CRaC 11:02 John Cecerralli * https://www.linkedin.com/in/john-ceccarelli-95b7041/ * OpenJDK evolutions in Project Leyden * Startup time improvements in Azul Prime * Java performance * ARM Graviton 17:08 Balkrishna Rawool * https://www.linkedin.com/in/balkrishnarawool/ * Vector API, project Panama 22:44 Christos Kotselidis, Michalis Papadimitriou * https://www.linkedin.com/in/michalis-papadimitriou/ * https://www.linkedin.com/in/kotselidis/ * https://www.tornadovm.org/ * https://www.tornadovm.org/gpullama3 * https://github.com/beehive-lab/TornadoVM * TornadoVM status update, Java on GPU * How TornadoVM relates to Project Babylon and Project Panama 33:42 Outro

    35 min
  4. Maven 4 - The Future of Java Build Automation (#81)

    1 NOV

    Maven 4 - The Future of Java Build Automation (#81)

    Maven 4 is approaching its release, bringing many improvements to the build tool powering millions of Java projects. In this Foojay Podcast episode, we talk about Apache Maven 4, a significant milestone that has been years in the making. Maven has been the backbone of Java dependency management and build automation since the early 2000s; however, the road to version 4 has been a long and deliberate one. With significant performance improvements, a modernized API for plugin developers, and changes that affect how we think about project structure, Maven 4 represents both an evolution and a revolution. What does this mean for the millions of developers who depend on Maven daily? How should teams prepare for the transition? And what's the story behind the Maven Central Repository changes that have been making headlines? To answer these questions and more, we're joined by a few of the many contributors who are actually building Maven 4 and stewarding its ecosystem. Guests    Hervé Boutemy       https://www.linkedin.com/in/hboutemy/     Guillaume Nodet       https://www.linkedin.com/in/guillaumenodet/     Maarten Mulders       https://www.linkedin.com/in/mthmulders/  Content 00:00 Introduction of the topic and guests 04:23 Status of Maven 4 release    https://maven.apache.org/whatsnewinmaven4.html     https://maven.apache.org/guides/mini/guide-migration-to-mvn4.html  07:57 Why we needed a new Maven version    https://maarten.mulders.it/2020/11/whats-new-in-maven-4/     https://maarten.mulders.it/2021/03/introduction-to-maven-toolchains/     https://www.javaadvent.com/2021/12/from-maven-3-to-maven-5.html  12:37 You can already start using Maven 4 14:35 Some benefits of switching to Maven 4 18:52 Changes in the pom file, and yes, still XML 20:30 Changes for Maven plugin developers and integrators 22:24 Changes for Maven users, for instance, the need for Java 17 28:34 Maven The Tool versus Maven The Repository 34:51 Reasons for the change in authentication for uploads to Maven Central 36:01 The one and only Maven Central URL to use    https://central.sonatype.com/  38:04 About the very first "server" hosting the Maven repository 40:32 The importance of setting up your own caching repository    https://www.sonatype.com/blog/maven-central-and-the-tragedy-of-the-commons     https://openssf.org/blog/2025/09/23/open-infrastructure-is-not-free-a-joint-statement-on-sustainable-stewardship/     https://www.youtube.com/watch?v=t74ClffSUW0  44:04 The relationship between POM, BOM, BOM-POM , and SBOM 49:43 Gradle versus Maven 57:54 How to contribute to Maven or any other open-source project, and how to get the support of your company to do so 01:05:23 How to upgrade your projects from Maven 3 to 4    https://maven.apache.org/tools/mvnup.html

    1h 7m
  5. AI4Devs Interviews - Part 2 (#80)

    18 OCT

    AI4Devs Interviews - Part 2 (#80)

    This is part 2 of the interviews recorded on September 19th, 2025, at the first AI4Devs Conference (https://amsterdam.ai4devs.io/) in Amsterdam. In Part 1, we explored many AI-related topics as libraries, security, infrastructure, use cases, and more. In this second part, we'll dive into data science, tools for better AI development, Java in the cloud, and get a behind-the-scenes look at how the conference came together. I also asked these guests the same opening question: 'What's your name, and what brings you to this conference?' 00:00 Introduction00:43 Eileen Kapel   Data Scientist, building an evaluating a model, taking the enduser into account   https://www.linkedin.com/in/eileenkapel/ 06:13 Jonathan Ellis and Ryan Svihla   Coding with AI with Brokk, AI-native code platform, Java language improvements while keeping stability   https://www.linkedin.com/in/jbellis/    https://www.linkedin.com/in/ryan-svihla-096752182/    https://brokk.ai/    https://foojay.io/today/indexing-all-of-wikipedia-on-a-laptop/ 16:24 David Parry   Qodo, AI developer tools, empowering engineering teams to standardize code quality and move fast with AI   https://www.linkedin.com/in/daviddryparry/    https://www.qodo.ai/ 28:46 Alessandro Stefouli-Vozza   Java in the cloud, Impact of our job on the environment and our future, Green Software Foundation, Dutch Cloud Native meetup and conference   https://www.linkedin.com/in/alessandrovozza/    https://cloudnative.amsterdam/    https://greensoftware.foundation/    Article by Miro about energy usage: https://foojay.io/today/research-measuring-energy-consumption-in-programming-languages-for-ai-applications/ 35:02 Sushant Shekhar   Using Java and AI, Moved from Java to other languages and back, Building your own models versus tweaking   https://www.linkedin.com/in/sushant-shekhar-2b43ba17/ 39:09 Arno Koehler   Organisator, Ai code experiments versus production use, Schiphol POC, Kotlin versus Java versus Scala, The power of the JVM   https://www.linkedin.com/in/arnokoehler/ 45:37 Joost Kaan   About organizing the conference, Python and Java driving AI forward   https://www.linkedin.com/in/joost-kaan/ 50:45  Coen de Waal, Samantha Burattini, and Luis San Martin   Conference sponsor, Use of AI in a banking environment   https://www.linkedin.com/in/coen-de-waal/    https://www.linkedin.com/in/samantha-burattini/ 54:51 Nahir Vila   Student, How the youth is using AI 57:33 Jonathan Vila   AI4Devs Organizer, How the conference started and a lookback at the end of the day, How AI can be used when writing articles   https://www.linkedin.com/in/jonathanvila/ 01:05:58 Outro

    1h 6m
  6. AI4Devs Interviews - Part 1 (#79)

    4 OCT

    AI4Devs Interviews - Part 1 (#79)

    On September 19th, 2025, the first AI4Devs conference (https://amsterdam.ai4devs.io/) took place in Amsterdam. I grabbed my camera and microphone to talk with speakers and attendees about the revolution in AI-powered coding and application development. In this first part, we'll explore Spring libraries, security, infrastructure and scaling, real-world use cases, event streaming, JetBrains tools, and more...I asked all my guests the same opening question: 'What's your name, and what brings you to this conference?' Let's get started! 00:00 Introduction00:44 Christian Tzolov and Josh Long   Spring AI, Spring MCP, Spring Security   https://www.linkedin.com/in/joshlong/    https://www.linkedin.com/in/tzolov/ 17:07 Brian Vermeer   AI and security and the responsibility of the developer   https://www.linkedin.com/in/brianvermeer/ 27:57 Camille Nigon and Maarten Vandeperre   Quarkus, Scaling AI applications, the cost of using LLMs   https://www.linkedin.com/in/camille-nigon/    https://www.linkedin.com/in/maarten-vandeperre/ 36:15 Luca Berton   Infrastructure for AI  applications    https://www.linkedin.com/in/lucaberton/    https://www.youtube.com/@BertonLuca 41:15 Soham Dasgupta   Real life AI use cases    https://www.linkedin.com/in/dasguptasoham/    https://github.com/marketplace?type=models 48:03 Mary Grygleski   Event driven agents to handle complex flows   https://www.linkedin.com/in/mary-grygleski/ 55:04 Anton Arhipov   Java and Kotlin at JetBrains, Junie AI   https://www.linkedin.com/in/antonarhipov/ 01:06:07 Outro

    1h 7m
  7. Welcome to OpenJDK 25! (#78)

    13 SEPT

    Welcome to OpenJDK 25! (#78)

    Episode 78 of the Foojay Podcast. All info, show notes, and links are available at https://foojay.io/today/category/podcast/.We're excited to present the first episode of the Foojay Podcast's fifth season, marking the release of OpenJDK 25!For the first time, an OpenJDK release is aligned with the year, and we can welcome release 25 in 2025. As usual in the release podcast, I have my regular guest, Simon Ritter. And in this episode, we are joined by Balkrishna Rawool to talk about all the new features in this new OpenJDK version.Guests   Simon Ritter      https://www.linkedin.com/in/siritter/    Balkrishna Rawool      https://www.linkedin.com/in/balkrishnarawool/Content00:00 Introduction of topic and guests01:21 How important is release 25 and upgrading your runtimes?   https://jdk.java.net/25/06:00 Process of releasing a new OpenJDK version and looking forward to version 2608:16 What are JEPs and OpenJDK projects09:20 Project Leyden   https://openjdk.org/projects/leyden/   JEP 514: Ahead-of-Time Command-Line Ergonomics      https://openjdk.org/jeps/514   JEP 515: Ahead-of-Time Method Profiling      https://openjdk.org/jeps/51511:28 Leyden compared to other solutions16:21 Project Valhalla   https://openjdk.org/projects/valhalla/17:06 JEP 519: Compact Object Headers   https://openjdk.org/jeps/51917:40 JEP 508: Vector API (Tenth Incubator)   https://openjdk.org/jeps/50818:58 Why Vector API is taking a long time to get finalized21:04 JEP 502: Stable (Immutable) Values   https://openjdk.org/jeps/50223:17 Project Loom   https://openjdk.org/projects/loom/23:30 JEP 506: Scoped Values   https://openjdk.org/jeps/50624:13 JEP 505: Structured Concurrency (Fifth Preview)   https://openjdk.org/jeps/50529:22 How Java evolved over 30 years33:34 Project Amber   https://openjdk.org/projects/amber/34:28 JEP 507: Primitive Types in Patterns, instanceof, and switch (Third Preview)   https://openjdk.org/jeps/50735:59 JEP 512: Compact Source Files and Instance Main Methods   https://openjdk.org/jeps/51237:36 JEP 511: Module Import Declarations   https://openjdk.org/jeps/51138:36 JEP 513: Flexible Constructor Bodies   https://openjdk.org/jeps/51339:12 What's next in Project Amber43:25 What you can learn from JEPs, OpenJDK projects, and mailing lists44:21 JEP 521: Generational Shenandoah   https://openjdk.org/jeps/521   Trash Talk by Gerrit Grunwald      https://www.youtube.com/watch?v=xlwDe-hlSdI48:16 JEP 510: Key Derivation Function API   https://openjdk.org/jeps/51049:30  JEP 470: PEM Encodings of Cryptographic Objects (Preview)   https://openjdk.org/jeps/47051:28 About Java Flight Recorder52:27 JEP 509: JFR CPU-Time Profiling (Experimental)   https://openjdk.org/jeps/50952:44 JEP 518: JFR Cooperative Sampling   https://openjdk.org/jeps/51853:15 JEP 520: JFR Method Timing & Tracing   https://openjdk.org/jeps/52053:38 More about JFR and comparing with GC logs57:04 JEP 503: Remove the 32-bit x86 Port   https://openjdk.org/jeps/50358:54 Looking forward to the following versions01:00:58 Conclusion

    1h 1m

About

The podcast of foojay.io, a central resource for the Java community’s daily ​information needs, a place for friends of OpenJDK, ​and a community platform for the Java ecosystem​ — bringing together and helping Java professionals everywhere.

You Might Also Like