IntelliJ IDEA
IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin
Java Annotated Monthly – August 2025
Welcome to this month’s Java Annotated Monthly – your pit stop for all things related to Java, Kotlin, frameworks, and the ever-shifting tech scene. From helpful reads to red-hot takes, we’ve lined up a range of articles for curious devs and ambitious teams.
But wait, there’s more! As always, our AI corner is here, and we’ve sprinkled in some thought-provoking, non-tech gems on building better teams and smarter products.
Oh, and don’t miss the special feature by A N M Bazlur Rahman! He’s bringing you his top picks, personal reflections, and sharp takes on where the dev world’s heading. Trust us, it’s a ride worth taking.
Let’s go!
Featured Content
Java and AI integration takes center stage
As a Java developer with a recent interest in the AI integration space, I’m excited to share what I consider the most transformative period in Java’s 30-year history. The ecosystem has reached a tipping point where AI integration is no longer experimental. It’s production-ready, and Java developers are embracing it at an unprecedented pace. From my recent talk at GeeCON 2025 in Kraków to my hands-on experiments building AI-powered applications, I’ve witnessed firsthand how Java is becoming the go-to platform for enterprise AI development.
The foundation of this revolution lies in the language itself. JDK 25 is shaping up to be a landmark release, with features that directly benefit AI workloads. The game changer is JEP 519: Compact Object Headers, with Amazon reporting 22% less heap usage and 8% faster execution in production. However, what really excites me is JEP 505: Structured Concurrency (Fifth Preview), which I explored in depth in my article, Java’s Structured Concurrency: Finally Finding Its Footing. This feature simplifies concurrent programming by treating related tasks as single units, making them ideal for orchestrating multiple AI model calls. Combined with instance main methods becoming final in JDK 25, which provides a pleasing experience for beginners, Project Leyden and the evolving Vector API are positioning Java as a serious contender for AI workloads.
The framework landscape has me particularly excited. The general availability of Spring AI 1.0 streamlines AI app development with support for 20+ models and built-in RAG capabilities. LangChain4j’s 1.1.0 release introduces comprehensive guardrail support – something I’ve written about extensively in Building Robust AI Applications with LangChain4j Guardrails and Spring Boot, complete with plenty of code examples. Microsoft’s strategic partnership with LangChain4j has resulted in extensive security audits, making it truly enterprise-ready. However, the real showstopper is Rod Johnson’s Embabel agent framework, which he describes as “the most significant project since Spring Framework itself.” It brings goal-oriented action planning from gaming to create deterministic, explainable AI agents with strong typing. What’s equally exciting is seeing the integration of LangChain4j with MicroProfile and Jakarta specifications take shape, bringing AI capabilities to enterprise Java standards.
To help developers navigate this landscape, my friend Shaaf Syed and I created the llm-jakarta GitHub project, which provides a progressive learning path through Jakarta EE and LLM integration, comprising 10 practical steps. We plan to add more examples combining Spring Boot and Quarkus soon.
For those interested in GPU acceleration, I recommend checking out GPULlama3.java Brings GPU-Accelerated LLM Inference to Pure Java, which showcases how Java can leverage hardware acceleration for AI workloads.
Cloud providers are fully committed to Java’s AI future. Oracle launched generative AI with LangChain4j integration, and Google released their Agent Development Kit for Java, both of which are crucial for adopting modern AI features. Microsoft’s comprehensive Java and AI strategy includes native integration with Azure.
I’ve been experimenting with these features extensively, documenting my findings in my newsletter, The Coding Café, where I share practical experiments, such as building FormPilot and creating an AI-powered flight tracker. Join me as we explore this exciting frontier where Java’s enterprise strengths meet cutting-edge AI capabilities!
Java News
Check out the recent Java news:
- Java News Roundup 1, 2, 3, 4
- Java 25 is ALSO no LTS Version – Inside Java Newscast #94
- Java GPGPU Enablement: Are We There Yet?
- Java Gets a JSON API – Inside Java Newscast #95
Here are the JEPs targeted to JDK 25:
- JEP 515: Ahead-of-Time Method Profiling
- JEP 518: JFR Cooperative Sampling
- JEP 520: JFR Method Timing & Tracing
Java Tutorials and Tips
Learn new things from our selection of Java tutorials and tips:
- A Bootiful Podcast: Dr. Heinz Kabutz, a legendary Java Champion, teacher, and author of the Java Specialists newsletter!
- Java Regex: Dynamic Replacements with Lambda Expressions
- Java Virtual Threads in Action: Optimizing MongoDB Operation
- Module Import Declarations: No More Import Hell
- Best of Java Feature Face-Off – Celebrating 30 Years of Java: The Programming Language That Changed the World
- Marshalling: Data-Oriented Serialization
- The Java Ecosystem Remains Ever-Green By Continuously Adapting to Developers’ Needs
- A Sneak Peek at the Stable Values API
- Just Be Lazy
- Java 22 to 24: Level up your Java Code by embracing new features in a safe way
- From Async/Await to Virtual Threads
- Episode 39 “Deprecations & Removals” with Stuart Marks
- A Bootiful Podcast: José Paumard, Java developer advocate and professor
- Six Months of Enterprise Java and Quarkus and What Comes Next
- A Sneak Peek at the Stable Values API
- Java Security Evolution – Out with the Old, In with the New
Kotlin Corner
Don’t miss these Kotlin updates:
- Trying to typeclass in Kotlin
- Kotlin adoption inside ING, five years later
- Case Study: Why Kakao Pay Chose Kotlin for Backend Development
- Kodee’s Kotlin Roundup: A Carefully Curated June Edition
- Modular Ktor: Building Backends for Scale
- When Tool-Calling Becomes an Addiction: Debugging LLM Patterns in Koog
- Ship, Share, and Win: The Kotlin Multiplatform Award at Shipaton 2025
- Koog: Building and Scaling AI Agents – Join Our Livestream Series
AI
Stay up to date with AI news and insights:
- Make Your Ideas Clickable With Kineto by JetBrains
- Google Launches Gemini CLI: Open-Source Terminal AI Agent for Developers
- Effective Practices for Coding with a Chat-Based AI
- AI Agents & LLMs: Scaling the Next Wave of Automation
- Hugging Face Launches Reachy Mini Robots for Human-Robot Interaction
- The Great Data Reimagination: From Static to Agile in the AI Era
- AI Agents, the New Frontier for LLMs
- Building a Product-First Engineering Culture in the Age of AI
- Mastering agentic workflows with ADK for Java: Sequential agents
- Robust AI Applications with LangChain4j Guardrails and Spring Boot
- Generative AI in software and essaying
- Why AI Agents as Your Team Should Be Your Next Learning Move
- Small Models, Big Impact: Why JetBrains is Betting on Focal LLMs
- The Future of AI in Software Development
- What the Google x JetBrains Hackathon Tells Us About the Future of AI at JetBrains
Languages, Frameworks, Libraries, and Technologies
Read about the most influential technologies and frameworks in the industry:
- This Week in Spring 1, 2, 3, 4
- Accidental Time Travel with Wiremock, SimpleDateFormat and Fractional Seconds
- Spring Debugger 🚀 Instantly Fix Spring Boot Errors & Debug Everything On the Fly!
- Spring Debugger: A New Way To Demystify Spring Boot’s Magic by Marco Behler @ Spring I/O 2025
- Testing Java Applications with WireMock and Spring Boot
- Data Modeling for Java Developers: Structuring With PostgreSQL and MongoDB
- Advanced RAG — Hypothetical Question Embedding
- Building a Spring Boot CRUD Application Using MongoDB’s Relational Migrator
- From C to Rust: Inside Meta’s Developer-Led Messaging Migration
- How Pair Programming Enhanced Development Speed, Focus, and Flow
- A Bootiful Podcast: API oracle Arjen Poutsma
- Getting Started With Scala
- How to Make a RAG Application With LangChain4j
- Git default options
- Spring Cloud Stream: Event-Driven Architecture – Part 1
- Improving the prompt to the AI to get better code
Conferences and Events
Visit these Java events in August and watch some helpful recordings:
- JVM Language Summit – Santa Clara, CA, USA, August 4–6
- JCrete – Crete, Greece, August 4–8
- SpringOne – Las Vegas, NV, USA, August 25–28
- IntelliJ IDEA Conf 2025 – Check out the full playlist with the talks
Culture and Community
Be a great leader and a perfect team player:
- A First-Timer’s Guide to Curating a Technical Conference Track
- Trust-first Leadership and Building Great Teams
- From Junior to Staff and beyond: Lessons Learned
- Why Mirroring Production in Dev Helps You Avoid Costly Mistakes
- Welcoming The Next Generation of Programmers
- Leading your engineers towards an AI-assisted future
And Finally…
Don’t miss the most important updates from the IntellIJ IDEA team:
- Spring Debugger: Working With Dynamic Database Connections Just Got Simpler
- IntelliJ IDEA Moves to the Unified Distribution
- IntelliJ IDEA 2025.2 Beta: EAP Closure and Our New Approach to Release Updates
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 August 20. Don’t forget to check out our archive of past JAM issues for any articles you might have missed!