IntelliJ IDEA
IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin
Java Annotated Monthly – July 2026
Welcome back to another edition of Java Annotated Monthly! As always, we’ve rounded up the best reads from across the ecosystem so you don’t have to go hunting yourself.
This month’s lineup spans the usual favorites: fresh finds from the Java and Kotlin worlds, a healthy dose of AI developments worth your attention, and a few detours into other technologies that caught our eye.
We’re also delighted that Tom Cools is sharing his content highlight of the month with us!
As always, we’ve found the upcoming events you’ll want on your calendar, plus a handful of topics worth debating or quietly thinking about on your next coffee break.
So grab a coffee, give your AI agents a moment to finish coding, and dig in – there’s a lot of good stuff below!
Featured Content
Tom Cools
June kicked off with J-Spring, the international Java conference organized by NLJUG, which took place on June 4 in Utrecht. I gave a talk there, LLMs Can’t Optimize Schedules, but AI Can, but the real highlights of the day for me were other people’s sessions.
At the top of that list was the keynote from Felienne Hermans, one of my favorite people in our field and the author of one of my favorite books, The Programmer’s Brain (Manning). If you haven’t read it yet, go do it.
Another session that stuck with me was Holly Cummins’s talk on benchmarking, When benchmarks go bad: what I learned from measuring performance wrong. It was a great reality check that you can’t have it all in life, and that “benchmarking” can mean wildly different things depending on what you’re trying to measure and who’s doing the measuring. Well worth a click through the slides.
June was also a big month for the Java platform itself – Valhalla is finally coming. On June 15, JEP 401 (Value Classes and Objects) was confirmed for integration into mainline OpenJDK, targeting JDK 28. Artur Skowroński wrote an excellent deep-dive in JVM Weekly, Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28. Go read it!
Looking ahead, I’m excited to spend the summer really experimenting with agentic frameworks, Koog, Pi, and others to see how we can deliver better software…faster is a nice extra.
Java News
Let’s kick things off with the latest from the Java world:
- Java News Roundup 1, 2, 3, 4, 5
- JEP targeted to JDK 27: 538: PEM Encodings of Cryptographic Objects (3rd Preview)
- JavaNext Language Features
- Performance Improvements in JDK 26
Java Tutorials and Tips
Next up, a handful of tutorials and tips to sharpen your skills and maybe teach an old codebase a few new tricks:
- Intelligent JVM Monitoring: Combining JDK Flight Recorder with AI
- Episode 59 “Java *is* Memory Efficient” [AtA]
- Ternary, Predicate, and Pattern Matching for FizzBuzz with Java 26
- GeeCON 2026: Discussion panel – Java 27 and Beyond: What Excites You, and Which Myths Need to Die
- Nulls are dead – Moritz Halbritter | IntelliJ IDEA Tech Talks
- Building AI-Powered Java Applications With Jakarta EE and LangChain4j
- Getting Started With Agentic Workflows in Java and Quarkus
- Why You Should Tune Code Before Your Garbage Collector
- Jakarta EE is Ready for AI – But Don’t Just Take My Word for It!
- Tiberius: A Security Testing Framework for LLM Applications in Java
- Practical Performance Tuning for Serverless Java on AWS
- Episode 60 “How JEPs Drive Java’s Evolution” [AtA]
- Modern Java at Stripe: Language upgrades as a service
Kotlin Corner
Here’s what’s been keeping the Kotlin community busy this month:
- Kotlin turns 15
- Kotlin comes to BlueJ
- Apply for the 2026 Kotlin Foundation Grant Program for Library Authors
- Kotlin Toolchain 0.11: The Next Step for Amper
AI
In AI, this month brought plenty of new tools, ideas, and developments worth a closer look:
- Customizing Antigravity CLI: Title and Status Line
- Guidelines for Respectful Use of AI
- AI enthusiasts are in a race against time, AI skeptics are in a race against entropy
- AI gateways: why and how
- Junie, IntelliJ, and Spec-Driven Development
- Vibe Coder vs Software Engineer
- Building an AI-Powered Operations Assistant with Spring AI and MongoDB Atlas — Part 2:
- Conversational Memory
- Stop Pasting Tokens: OAuth2 for JetBrains IDE Plugins
- With Claude: Less Coding, More Testing
- Anthropic Explains How Claude Builds Its Own Execution Harnesses
- Building an autonomous ML researcher with Claude Code dynamic workflows
- AI Coding Agents Get a Stack Overflow of Their Own
- Foundations of AI Coding
- Did AI Just Break Software Security For Ever?
- Oracle’s OpenJDK Bans Generative AI Contributions While Oracle’s GraalVM Allows Them
- Systematic AI Coding: My Takeaways from the Eclipse Foundation Workshop in Brussels
- Rules for Understanding Language Models
- I Stopped Coding and Started Architecting Agents (And Why You Should Too)
Languages, Frameworks, Libraries, and Technologies
Beyond Java and Kotlin, here’s a roundup of the languages, frameworks, libraries, and technologies that caught our eye this month:
- This Week in Spring 1, 2, 3, 4, 5
- Spring and Security In The Times Of AI
- What is Sharding in MongoDB and When Should You Use It?
- How Gradle Is Javamaxxing
- Two Hibernate Annotations That Cut Our JSON Processing Time in Half
- A Bootiful Podcast: JetBrains’ Marit van Dijk
- Snake in 10 Lines: Learning More by Coding Less by Guus de Wit – JNation 2026
- Empower your AI migrations to Quarkus with Skills
- Spring Boot Migration and the CRA: When Good Enough Isn’t
- Why Spring Teams Don’t Need a Second Runtime for AI Agents
- Can Java Microservices Be As Fast As Go? A 2026 Benchmark Update
- A Bootiful Podcast: Spring Security lead Rob Winch answers some security questions for me
- Codename One: On-Device Debugging And JUnit 5
- Moving Mountains: Migrating Legacy Code in Weeks instead of Years
- Spring vs Quarkus vs Jooby vs Vert.x: Pick Your Next Java Framework
- Relocation of Maven Package in Maven Central
- Quarkus Unpacked: Insights from the Foojay Podcast
- Unknown JSON fields in Java REST clients: JSON-B, Jackson, Quarkus, and Spring Boot
- AI-Assisted Unused & Dead Code Removal
- Sebastien Deleuze on Spring AI 2.0, Kotlin, and more
- Spring Boot team member Moritz Halbritter
Conferences and Events
Here’s what’s coming up on the calendar: the conferences and events worth marking down in the months ahead.
- WeAreDevelopers – Berlin, Germany, July 8-10
- Java Forum Stuttgart – Stuttgart, Germany, July 9
- ÜberConf – Denver, USA, July 14-17
- JConf Dominicana – Santiago, Dominican Republic, July 17-18
- JCRETE – Crete, Greece, July 27-31; Come meet Marit van Dijk and Anton Arhipov from JetBrains.

Culture and Community
The people, conversations, and ideas that make our corner of tech worth being part of:
- The Human Toll of Incidents & Ways To Mitigate It
- Humans In The Way
- How a Culture of Data-Driven Conversations Can Support Platform Engineering
- The Technology Adoption Curve, Twenty Years On
- Context Is Code: A Tour of APM and AgentRC
- From MCP and Vibe Coding to Harness Engineering: How Did AI Native Engineering Evolve in One Year
- A Bootiful Podcast: My friend Francesco Ciulla on developer advocacy and more
- Craig McLuckie on Culture as a Team’s Operating System in the AI Era
- Ask a Lille Dev: What Java Developers Really Think About Quality, Frameworks, Communities, and Careers
- General and Surprising
And Finally…
A few fresh posts from the IntelliJ IDEA and JetBrains blogs to close out this month’s edition:
- Your JetBrains IDE Expertise, Now on LinkedIn
- Hibernate 7.4 New Features
- Stop Pasting Tokens: OAuth2 Login for JetBrains IDE Plugins
- Kotlin Notebook Sunset
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 July 20. Don’t forget to check out our archive of past JAM issues for any articles you might have missed!
