IntelliJ IDEA
IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin
Java Annotated Monthly – May 2026
April flew by. The pace of tech development didn’t slow, and the flow of news and knowledge didn’t either.
This month, Emily Bache joins us to share some sharp finds about AI agents and test-driven development. Java stays busy with fresh updates and practical tips, and Kotlin keeps pushing forward right next to it. The AI section is, as usual, packed with things worth your attention.
You’ll also find upcoming events to plan for and a few ideas to challenge your thinking.
Featured Content
It’s my pleasure to bring to your attention some interesting content that appeared in April. The huge change that is sweeping through our industry right now is the adoption of AI coding agents, which many people are using instead of hand-coding changes to software. One of the most important new skills to master is designing a “harness” for your AI tool, and this month Birgitta Böckeler has published the best reference I’ve seen so far about what that is and a mental model for how to think about it. Chris Parsons has also published an extensive guide titled How I use AI to Code, which is a really great resource for experienced developers looking to create their own harness and mentor others to do the same.
Perhaps as a contrast, I’d also like to highlight Michael Taggart’s introspective experience report on his use of AI. He wrestles with his conscience over using these tools at all. An interesting metaphor for AI-assisted coding came up in an article by Drew Breunig – we run the risk of building a Winchester Mystery House. After you read that, listen to Kevlin Henney’s talk Being the Human in the Loop, where he takes a look at the engineering skills we still need – ones that could perhaps prevent the kind of thing Drew writes about from happening.
I have a particular interest in test-driven development, which, as a technical coach, is a big part of what I teach to others. I wrote an initial assessment of what TDD looks like these days, based on interviews with several practitioners I trust who are all using agentic AI. For those of you who’d like to see me in action writing code, I have a demo of a narrow integration test for an outbound port in a hexagonal architecture, in Kotlin.
Java News
Catch what shipped and track what’s next:
- Java News Roundup 1, 2, 3, 4
- Newsletter: Java 26 Is Now Available | JDK 27 Heads-Ups
- Quality Outreach Heads-up – JDK 27: Obsolete Translation Resources Removed
- Update Your JDK, Read More Code, and Talk to Your Users: Interviews From VoxxedDays Amsterdam (#93)
Java Tutorials and Tips
Steal these tricks:
- Analysing Crashed JVMs – Inside Java Newscast #109
- Oracle’s Java Verified Portfolio and JavaFX: What It Actually Means
- 10 Things I Hate About Java by Adele Carpenter
- Is AI Ruining Java Open Source? – Andres Almiray | The Marco Show
- Java 26: Updates You Must Know
- Java and Gen AI: JVM Agents With Embabel by Rod Johnson (Spring Creator)
- A Bootiful Podcast: Java Developer Advocate Ana-Maria Mihalceanu
- Does Java Really Use Too Much Memory? Let’s Look at the Facts (JEPs)
- Thread-Safe Native Memory in Java: VarHandle Access Modes Explained
- Episode 54 “How JDK 26 Improves G1’s Throughput” [AtA]
- You Must Avoid Final Field Mutation – Inside Java Newscast #110
- How the JVM Optimizes Generic Code
- The Curious Case of Enum and Map Serialization
- Avoiding Final Field Mutation
Kotlin Corner
- Kotlin kontra Java – Part 1 – Ecosystem
- Kotlin Professional Certificate by JetBrains – Now on LinkedIn Learning
- Introducing Koog Integration for Spring AI: Smarter Orchestration for Your Agents
- Reliable AI Agents Using Domain Modeling With Koog in Java
AI
Cut the hype, test the tools, and boost your flow:
- How We Built a Java AI Agent by Connecting the Dots the Ecosystem Already Had
- Stateful Continuation for AI Agents: Why Transport Layers Now Matter
- A Bootiful Podcast: Mark Kropf on AI Orchestration
- Embabel Tools & MCP Servers: Supercharge Your Java AI Agents
- Adversarial AI: Understanding the Threats to Modern AI Systems
- Why Java Developers Over-Trust AI Dependency Suggestions
- A GitHub Agentic Workflow
- ACP Java SDK: Building IDE Agents in Java
- Spring AI Agentic Patterns (Part 7): Session API – Event-Sourced Short-Term Memory with Context Compaction
- Beyond RAG: Architecting Context-Aware AI Systems With Spring Boot
- Spring AI Agentic Patterns (Part 6): AutoMemoryTools – Persistent Agent Memory Across Sessions
- 5 Best Practices for Working with AI Agents, Subagents, Skills, and MCP
- Deepfakes, Disinformation, and AI Content Are Taking Over the Internet
- MCP in the Java World: Bringing Architectural Strategy to LLM Integrations
Languages, Frameworks, Libraries, and Technologies
Explore new tools and technologies, and revisit the old ones:
- This Week in Spring 1, 2, 3, 4
- Article: Beyond RAG: Architecting Context-Aware AI Systems With Spring Boot
- Six and a Half Ridiculous Things to Do With Quarkus
- The Spring Team on Spring Framework 7 and Spring Boot 4
- A Bootiful Podcast: The Legendary Craig Walls
- Enabling Reflection-Free Jackson Serializers by Default
- Understanding Performance
- A Bootiful Podcast: A Bootiful Podcast: Dr. Venkat Subramaniam and James Ward on Intelligent Kotlin and So Much More
- The Road to Docker Official Images for Java: The Azul Zulu Story
- Spring Debugger New Power: Where Should I Click to Demystify Spring Boot Magic?
Conferences and Events
Join the crowd online or offline:
- JAX – Mainz, Germany or Online, May 4–8
- Devoxx UK – London, United Kingdom, May 6–7; JetBrains will have a booth at the event. Also, come and listen to our JetBrains speakers: Marit van Dijk, Cheuk Ting Ho, and Simon Vergauwen. The Spring documentary will premiere there, followed by a panel with Josh Long, Steve Poole, and Marit van Dijk.
- GeeCon – Kraków, Poland, May 14–15; Marit van Dijk is speaking and moderating a panel on Java to discuss what excites each of them most about Java in 2026.
- JAlba – Edinburgh, Scotland, May 14–16
- JNation Conference – Coimbra, Portugal, May 26–27; Anton Arhipov and Marit van Dijk from JetBrains are the speakers.
- JCON Slovenia – Portorož, Slovenia, May 27–29

Culture and Community
Where do you stand on these topics?
- Panel: Building a Culture That Works
- How to Do What You Love and Make Good Money
- Do Things That Don’t Scale
- Encoding Team Standards
- Beyond the Hype: Is AI Taking the Fun out of Software Development?
And Finally…
One last thing before you close the article. Don’t skip it!
- Using Spring Data JPA With Kotlin
- Using Spring Data JDBC With Kotlin
- Speeding up Interactive Rebase in JetBrains IDEs
- From Java to Wayland: A Pixel’s Journey
That’s it for today! We’re always collecting ideas for the next Java Annotated Monthly – send us your suggestions via email or X by May 20. And don’t forget to check out our archive of past JAM issues for any articles you might have missed!
