Agents, MCP, and Graph Databases: Java Developers Navigate the AI Revolution (#86)
The AI revolution isn't replacing Java developers. No, it's forcing us to think harder.Welcome to another episode of the Foojay Podcast! Today, we're talking about AI and Java, how it's changing the way we work, what we need to watch out for, and why understanding what's really happening matters more than ever.I recorded interviews at Devoxx and JFall and spoke with people who build and use this technology every day.Marianne Hoornenborg opened my eyes to something important: every time an AI generates a token, there's a massive amount of computation happening behind the scenes.Viktor Gamov and Baruch Sadogursky did something really cool: they tested six different AI coding tools live on stage with the same task. The results were all over the place! But they found that the tools with access to good documentation performed much better.Stephen Chin showed me how graph databases can make AI responses more reliable by providing a solid source of truth rather than relying on vector search.Mario Fusco works on LangChain4J, a leading Java framework for AI. He explained that breaking down large tasks into smaller ones and using specialized agents can help reduce errors—hallucinations, as they're called.Jeroen Benckhuijsen and Martijn Dashorst shared their experiences working with enterprise Java. Even as frameworks are becoming lighter and we're running everything in containers, there are still complex problems that require real developer expertise.Maarten Mulders reminds us that AI is a tool, not a replacement—especially when you're solving problems no one has tackled before. You still need to know what you're doing.And finally, Simon Maple from Tessel discussed moving beyond vibe coding towards a more reliable, production-ready approach, using specifications to guide AI tools.00:00 Introduction of topics and guests02:12 Marianne Hoornenborg https://www.linkedin.com/in/mhoornenborg/The Simple Math behind AI The cost of tokens when using LLMs06:54 Viktor Gamov and Baruch Sadogursky https://www.linkedin.com/in/vikgamov/ https://www.linkedin.com/in/jbaruch/ Robocoders, about the many agentic tools that can be used for vibe coding https://context7.com/16:24 Stephen Chin https://www.linkedin.com/in/steveonjava/ Graph versus relational databases Explaining MCP and Agents23:09 Mario Fusco https://www.linkedin.com/in/mario-fusco-3467213/ AI and LangChain4j in Quarkus Coding tools with AI35:43 Jeroen Benckhuijsen https://www.linkedin.com/in/jeroenbenckhuijsen/ Java in business, Evolutions in Java Making use of containers and Kubernetes Learning from the community41:44 Martijn Dashorst https://www.linkedin.com/in/dashorst/ Investigating an OOM-killer in Kubernetes with the help of AI49:37 Maarten Mulders https://www.linkedin.com/in/mthmulders/How AI may impact our jobs How to improve your Maven builds 56:13 Simon Maple https://www.linkedin.com/in/simonmaple/ AI developer tool Tessl Spec-driven vibe coding Secure AI development01:02:12 Conclusion
--------
1:03:35
--------
1:03:35
Code, Community, and Opportunity: Making Tech Accessible for Everyone (#85)
Episode 85 of the Foojay Podcast. All info, show notes, and links are available at https://foojay.io/today/category/podcast/.What if the future of Java depends on who we invite to learn it today?In this Foojay Podcast, we're diving into something that affects all of us in the Java community: How can we inspire the next generation of developers, and how do we make the developer world more inclusive?You'll hear four incredible guests who are actively working to make tech more accessible and inclusive. First, Daniel De Luca talks about Devoxx for Kids and how they support underprivileged students in IT education. Then Kenny Schwegler shares his insights on how we can actively promote diversity and inclusion in tech. Cassandra Chin, the youngest Java Champion and author, talks about inspiring young coders through hands-on projects and making technology fun. And finally, Igor De Souza discusses his mission to bring Java into Raspberry Pi education and bring more Java into coding clubs worldwide.These conversations share one message: Talent is everywhere, but opportunity isn't. And we have the power to change that!01:19 Daniel De Luca https://www.linkedin.com/in/danieldeluca/ Founder Devoxx4Kids Activities of Devoxx4Kids How to inspire children of all ages to get interested in technology14:24 Kenny Schwegler https://www.linkedin.com/in/kenny-baas/ How to build inclusive, diverse teams How the IT industry became male-focused because of IBM marketing Books: https://www.manning.com/books/collaborative-software-design https://learningsystemsthinking.com/26:07 Cassandra Chin https://www.linkedin.com/in/cassandra-chin-developer/ Inspiring children and parents into technology Fun projects to introduce engineering to children Book: https://www.amazon.nl/Raising-Young-Coders-Teaching-Programming/dp/B0DVBQZ483 20% Discount code on the Springer website "APAUT" https://link.springer.com/book/10.1007/979-8-8688-1393-132:45 Igor De Souza https://www.linkedin.com/in/igfasouza/ Java in code clubs like CoderDojo Java in space Collecting Java tutorials and courses for children Java Catalog on Foojay GitHub https://github.com/foojayio/java-education-catalog Pi4J library https://www.pi4j.com/ HelloWorld magazine: https://downloads.ctfassets.net/oshmmv7kdjgm/6jGvFLH86Ems5AJR84Krsk/3888c571ddc1543c9cdb01ce5eff616d/HelloWorld28.pdf55:27 Conclusions
--------
56:52
--------
56:52
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 guests02:07 Daniel Witkowskihttps://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 Turkhttps://www.linkedin.com/in/ko-turk-b271b929/https://github.com/sustainable-computing-io/keplerSustainable engineeringKubernetes Efficient Power Level Exporter (Kepler)32:46 Ronald Dehuysserhttps://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 Ouwenshttps://www.linkedin.com/in/janouwens/https://jqno.nl/Reducing the cost and CO2-emissions of your applicationPrivate cloud versus cloud providers45:14 Outro
--------
46:06
--------
46:06
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.Content00:00 Introduction of topics and guests02:11 Johan Voshttps://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 Chinhttps://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 Phillipshttps://foojay.social/deck/@infosec812Java evolutions, communityREST versus gRPCDo we still need async or are virtual threads a better solution?27:49 François Martinhttps://www.linkedin.com/in/fran%C3%A7oismartinJava performance micro benchmarks with jmhhttps://github.com/openjdk/jmh33:30 Wouter De Geushttps://www.linkedin.com/in/wadegeus/Moved from finance to software developmentContributing back to the open-source community39:33 Roald Nefshttps://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:12
--------
47:12
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 guests01: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 CRaC11: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 Graviton17:08 Balkrishna Rawool* https://www.linkedin.com/in/balkrishnarawool/* Vector API, project Panama22: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 Panama33:42 Outro
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.