{"id":685678,"date":"2026-03-06T09:20:42","date_gmt":"2026-03-06T08:20:42","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=idea&#038;p=685678"},"modified":"2026-04-13T08:11:59","modified_gmt":"2026-04-13T07:11:59","slug":"java-annotated-monthly-march-2026","status":"publish","type":"idea","link":"https:\/\/blog.jetbrains.com\/de\/idea\/2026\/03\/java-annotated-monthly-march-2026","title":{"rendered":"Java Annotated Monthly \u2013 March 2026"},"content":{"rendered":"\n<p>A lot is happening in tech and beyond, and as we step into March, we have pulled together a fresh batch of articles, thought pieces, and videos to help you learn, connect, and see things from new angles.&nbsp;<\/p>\n\n\n\n<p>This edition shines with <a href=\"http:\/\/hollycummins.com\/\" target=\"_blank\" rel=\"noopener\">Holly Cummins<\/a>, whose sharp voice and sharp finds on Java bring both insight and inspiration.&nbsp;<\/p>\n\n\n\n<p>We are also excited to feature the premiere of <em>IntelliJ IDEA \u2014 The IDE That Changed Java Forever<\/em>. From a tiny team of visionary engineers to a global product powering millions, JetBrains didn\u2019t just build an IDE, it redefined what developer tools could be.<br>The documentary is now available on the <a href=\"https:\/\/youtu.be\/Kourq_Lz03U\" target=\"_blank\" rel=\"noopener\">CultRepo YouTube channel<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"IntelliJ IDEA: The Documentary | An origin story\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/Kourq_Lz03U?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">IntelliJ IDEA, The Documentary <\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Featured Content<\/h2>\n\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                                                            <div class=\"about-author__box-img\">\n                            <img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2026\/03\/image-7-1.png\" alt=\"\" loading=\"lazy\">\n                        <\/div>\n                                        <div class=\"about-author__box-text\">\n                                                    <h4>Holly Cummins<\/h4>\n                                                <p>Holly Cummins is a Senior Technical Staff Member on the IBM Quarkus team and a Java Champion. Over her career, Holly has been a full-stack JavaScript developer, a build architect, a client-facing consultant, a JVM performance engineer, and an innovation leader. Holly has led projects to understand climate risks, count fish, help a blind athlete run ultra-marathons in the desert solo, and invent stories (although not at all the same time). She gets worked up about sustainability, technical empathy, extreme programming, the importance of proper testing, and automating everything. You can find her at <a href=\"http:\/\/hollycummins.com\/\" target=\"_blank\" rel=\"noopener\">http:\/\/hollycummins.com<\/a> or follow her on socials at @holly_cummins.<\/p>\n                    <\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n\n\n\n<p><br>Hello, Java-Monthly-ers! This month, Java Marches On (see what I did there?). The cherry trees are blooming, the daffodils are emerging, and there\u2019s so much new Java stuff to play with. This time of year also means conference season, so part of me is excited, and part of me is cursing past-me for being over-optimistic about how much I can synthesise. I\u2019ve got three talks in three days in the middle of March, and all of them are new talks, on semi-unfamiliar topics. Still, it\u2019s good to learn and try new things, right?<\/p>\n\n\n\n<p>Right now, I\u2019m impressed by how many new things Java is trying. If you want to be picky, Java is an inanimate platform and can\u2019t actually try things. But grammar is for parsers, right? Loads of new things are appearing in the Java runtime itself, and even more new things are popping up in the Java ecosystem.<\/p>\n\n\n\n<p>I enjoyed exploring <a href=\"https:\/\/javaevolved.github.io\/\" target=\"_blank\" rel=\"noopener\">java.evolved<\/a> as a way of reminding myself how much the Java language has been improving. Most of the new patterns were familiar, but some of them I didn\u2019t know, so it was good learning, too. However, for me, some of the most exciting Java innovations aren\u2019t about syntax, but performance.<\/p>\n\n\n\n<p>I care a lot about sustainability, and that means I care about performance by default. A few years ago, GraalVM knocked everyone\u2019s socks off by showing how a Java application could be compiled to binary and start faster than a lightbulb. But how fast can a Java application start while still being a Java application? The promise of Project Leyden is to allow a sort of sliding scale of do-up-front-ness, while always allowing a fallback to the dynamic Java that we love. The Quarkus team has been experimenting with Leyden and has started to write about it. My colleague Guillaume wrote a <a href=\"https:\/\/quarkus.io\/blog\/leyden-1\/\" target=\"_blank\" rel=\"noopener\">fantastic blog post<\/a> digging deep into some of the optimisations Quarkus was able to make to fully leverage Leyden (spoiler: sub-100 ms start time for a pure-Java application).<\/p>\n\n\n\n<p>Java\u2019s fast and getting faster, but it\u2019s also versatile. <a href=\"https:\/\/openjdk.org\/projects\/babylon\/articles\/hat-matmul\/hat-matmul\" target=\"_blank\" rel=\"noopener\">Project Babylon<\/a> is allowing Java to take advantage of GPUs and run machine learning models (with a little help from some FFM friends). <a href=\"https:\/\/www.javaadvent.com\/2025\/12\/chicory-webassembly-on-the-jvm.html\" target=\"_blank\" rel=\"noopener\">Chicory<\/a> allows the JVM to run WebAssembly, and since almost any language can be compiled to WASM, the JVM can run almost anything (yes, that means JavaScript on the JVM, and C on the JVM, and \u2026).<br><\/p>\n\n\n\n<p>What about the front end? The ecosystem for Java UIs hasn\u2019t had all that much excitement for a while (like\u2026 a decade). But I predict a back-to-the-future moment. The terminal is back, but this time it\u2019s got CSS, pictures, forms, and animations\u2026 and Java has joined the party. <a href=\"https:\/\/tamboui.dev\/\" target=\"_blank\" rel=\"noopener\">TamboUI<\/a> is a Terminal UI framework for Java that enables interactive, pretty terminal-based applications. The <a href=\"https:\/\/youtu.be\/ERAp2vRHX3M\" target=\"_blank\" rel=\"noopener\">demo trailer<\/a> is pretty eye-popping. After I wrote this, I spotted <a href=\"https:\/\/awesome-java-ui.com\/\" target=\"_blank\" rel=\"noopener\">Awesome Java UI<\/a>, a catalog of Java UI frameworks which seemed specifically designed to prove me wrong when I said the Java UI space wasn\u2019t where the energy was. I\u2019ll admit that my statement was a bit sweeping, but I also notice that many of the new projects in the awesome-java list are command-line-oriented, like TamboUI, JLine, and \u00c6sh.<\/p>\n\n\n\n<p>And with that, I\u2019d better get back to writing about <a href=\"https:\/\/www.commonhaus.org\/\" target=\"_blank\" rel=\"noopener\">Commonhaus<\/a>, <a href=\"https:\/\/www.infoq.com\/articles\/developer-joy-productivity\/\" target=\"_blank\" rel=\"noopener\">Developer Joy,<\/a> trade-offs, <a href=\"https:\/\/hollycummins.com\/will-ai-take-our-jobs\/\" target=\"_blank\" rel=\"noopener\">knockers-up<\/a>, and interest rates. You\u2019ll be able to see what I end up with (and a preview of upcoming talks) on <a href=\"https:\/\/hollycummins.com\/type\/talk\" target=\"_blank\" rel=\"noopener\">my website<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Java News<\/h2>\n\n\n\n<p>Fresh Java news, hot off the press, so you stay sharp, fast, and one step ahead:<\/p>\n\n\n\n<ul>\n<li>Java News Roundup <a href=\"https:\/\/www.infoq.com\/news\/2026\/02\/java-news-roundup-jan26-2026\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\" target=\"_blank\" rel=\"noopener\">1<\/a>, <a href=\"https:\/\/www.infoq.com\/news\/2026\/02\/java-news-roundup-feb02-2026\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\" target=\"_blank\" rel=\"noopener\">2<\/a>, <a href=\"https:\/\/www.infoq.com\/news\/2026\/02\/java-news-roundup-feb09-2026\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\" target=\"_blank\" rel=\"noopener\">3<\/a>, <a href=\"https:\/\/www.infoq.com\/news\/2026\/02\/java-news-roundup-feb16-2026\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\" target=\"_blank\" rel=\"noopener\">4<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/inside.java\/2026\/02\/05\/newscast-106\/\" target=\"_blank\" rel=\"noopener\">LazyConstants in JDK 26 \u2013 Inside Java Newscast #106<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/inside.java\/2026\/02\/09\/quality-heads-up\/\" target=\"_blank\" rel=\"noopener\">Quality Outreach Heads-Up \u2013 JDK 26: DecimalFormat Uses the Double.toString(double) Algorithm<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/inside.java\/2026\/02\/10\/quality-heads-up\/\" target=\"_blank\" rel=\"noopener\">Quality Outreach Heads-Up \u2013 JDK 27: Removal of ThreadPoolExecutor.finalize()<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/inside.java\/2026\/02\/12\/jep527-target-jdk27\/\" target=\"_blank\" rel=\"noopener\">JEP targeted to JDK 27: 527: Post-Quantum Hybrid Key Exchange for TLS 1.3<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/inside.java\/2026\/02\/13\/podcast-045\/\" target=\"_blank\" rel=\"noopener\">Episode 45 \u201cAnnouncement \u2013 The New Inside Java Podcast\u201d<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/inside.java\/2026\/02\/14\/quality-heads-up\/\" target=\"_blank\" rel=\"noopener\">JDK 26 Release Candidate | JavaOne and More Heads-Up<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/inside.java\/2026\/02\/19\/newscast-107\/\" target=\"_blank\" rel=\"noopener\">Towards Better Checked Exceptions &#8211; Inside Java Newscast #107<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/02\/java-26-so-far\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\" target=\"_blank\" rel=\"noopener\">JDK 26 and JDK 27: What We Know So Far<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/inside.java\/2026\/02\/20\/podcast-046\/\" target=\"_blank\" rel=\"noopener\">Episode 46 \u201cJava\u2019s Plans for 2026\u201d<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Java Tutorials and Tips<\/h2>\n\n\n\n<p>&nbsp;Dive in and level up your Java game:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=Bi3wLP5ZCWw\" target=\"_blank\" rel=\"noopener\">25 Years of IntelliJ IDEA: The IDE That Grew Up With Java (#91)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/inside.java\/2026\/02\/01\/devoxxbelgium-production-langchain4j\/\" target=\"_blank\" rel=\"noopener\">Level Up Your LangChain4j Apps for Production<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/02\/java-beyond-records\/\" target=\"_blank\" rel=\"noopener\">Carrier Classes and Carrier Interfaces Proposed to Extend Java Records<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/bringing-java-closer-to-education-a-community-driven-initiative\/\" target=\"_blank\" rel=\"noopener\">Bringing Java Closer to Education: A Community-Driven Initiative<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.azul.com\/blog\/local-variable-type-inference-in-java-friend-or-foe\/\" target=\"_blank\" rel=\"noopener\">Local Variable Type Inference in Java: Friend or Foe?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/inside.java\/2026\/02\/07\/valhalla-class-metadata-optimization\/\" target=\"_blank\" rel=\"noopener\">Optimizing Java Class Metadata in Project Valhalla<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/bootstrapping-a-java-file-system\/\" target=\"_blank\" rel=\"noopener\">Bootstrapping a Java File System<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/reactive-java-with-project-reactor\/\" target=\"_blank\" rel=\"noopener\">Reactive Java With Project Reactor<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.frankel.ch\/feedback-checked-exceptions-lambdas\/\" target=\"_blank\" rel=\"noopener\">Feedback on Checked Exceptions and Lambdas<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/spring.io\/blog\/2026\/02\/12\/a-bootiful-podcast-richard-fichtner\" target=\"_blank\" rel=\"noopener\">A Bootiful Podcast: Java Champion and Hilarious Friend, Richard Fichtner<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/spring.io\/blog\/2026\/01\/29\/a-bootiful-podcast-billy-korando\" target=\"_blank\" rel=\"noopener\">A Bootiful Podcast: Java Developer Advocate Billy Korando on the Latest-and-Greatest in the Java Ecosystem<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/inside.java\/2026\/01\/29\/podcast-044\/\" target=\"_blank\" rel=\"noopener\">Inside Java Podcast Episode 44 \u201cJava, Collections &amp; Generics, BeJUG\u201d<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25\/\" target=\"_blank\" rel=\"noopener\">Foojay Podcast #90: Highlights of the Java Features Between LTS 21 and 25<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/what-2000-professionals-told-us-about-the-state-of-java-ai-cloud-costs-and-the-future-of-the-java-ecosystem\/\" target=\"_blank\" rel=\"noopener\">What 2,000+ Professionals Told Us About the State of Java, AI, Cloud Costs, and the Future of the Java Ecosystem<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/ports-and-adapters-in-java-keeping-your-core-clean\/\" target=\"_blank\" rel=\"noopener\">Ports and Adapters in Java: Keeping Your Core Clean<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/inside.java\/2026\/02\/23\/podcast-047\/\" target=\"_blank\" rel=\"noopener\">Episode 47 \u201cCarrier Classes\u201d [IJN]<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/dev.to\/dbc2201\/the-java-developers-roadmap-for-2026-from-first-program-to-production-ready-professional-41ng\" target=\"_blank\" rel=\"noopener\">The Java Developer&#8217;s Roadmap for 2026: From First Program to Production-Ready Professional<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Kotlin Corner<\/h2>\n\n\n\n<p>Learn the news and pick up a few neat tricks to help you write cleaner Kotlin:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2025\/09\/compose-multiplatform-1-9-0-compose-for-web-beta\/\">Compose Multiplatform 1.9.0 Released&nbsp;<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2026\/02\/15-things-to-do-before-during-and-after-kotlinconf-26\/\">15 Things To Do Before, During, and After KotlinConf\u201926&nbsp;<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2026\/02\/java-to-kotlin-conversion-comes-to-visual-studio-code\/\">Java to Kotlin Conversion Comes to Visual Studio Code&nbsp;<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.jetbrains.com\/ai\/2026\/02\/koog-x-acp-connect-an-agent-to-your-ide-and-more\/\">Koog x ACP: Connect an Agent to Your IDE and More&nbsp;<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/kotlinlang.org\/lp\/kotlin-spring-ai-tutorial\/\" target=\"_blank\" rel=\"noopener\">New tutorial: AI-Powered Applications With Kotlin and Spring AI&nbsp;<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/klibs.io\" target=\"_blank\" rel=\"noopener\">klibs.io<\/a> \u2013 the search application for Kotlin Multiplatform libraries is published to GitHub<a href=\"https:\/\/github.com\/JetBrains\/klibs-io\" target=\"_blank\" rel=\"noopener\"> https:\/\/github.com\/JetBrains\/klibs-io<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=6dOXCV_8nEI\" target=\"_blank\" rel=\"noopener\">Intro to Kotlin&#8217;s Flow API<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=qU_a1ioqOR8\" target=\"_blank\" rel=\"noopener\">Explicit Backing Fields in Kotlin 2.3 \u2013 What You Need to Know&nbsp;<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.jetbrains.com\/qodana\/2026\/01\/qodana-for-android-kotlin\/\">Qodana for Android: Increasing Code Quality for Kotlin-First Teams<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">AI&nbsp;<\/h2>\n\n\n\n<p>Explore what\u2019s possible with smart tools, real use cases, and practical tips on AI:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/www.infoq.com\/articles\/why-ml-projects-fail-production\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\" target=\"_blank\" rel=\"noopener\">Why Most Machine Learning Projects Fail to Reach Production<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/spring.io\/blog\/2026\/01\/28\/apring-ai-anthropic-agentic-skills\" target=\"_blank\" rel=\"noopener\">Anthropic Agent Skills Support in Spring AI<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/claude-code-sonarqube-mcp\/\" target=\"_blank\" rel=\"noopener\">Code. Check. Commit. \ud83d\ude80 Never Leave the Terminal With Claude Code + SonarQube MCP<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/jbachorik.github.io\/posts\/jfr-mcp-serve\" target=\"_blank\" rel=\"noopener\">Let the AI Debug It: JFR Analysis Over MCP<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/glaforge.dev\/posts\/2026\/02\/04\/researching-topics-in-the-age-of-ai-rock-solid-webhooks-case-study\/\" target=\"_blank\" rel=\"noopener\">Researching Topics in the Age of AI \u2013 Rock-Solid Webhooks Case Study<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.linkedin.com\/redir\/redirect\/?url=https%3A%2F%2Fwww%2Eazul%2Ecom%2Fblog%2Flocal-variable-type-inference-in-java-friend-or-foe%2F&amp;urlhash=yRb-&amp;mt=Z_JlOaSb0swuSAde7OTCTvZRbhCNBfC64bHnXbnxyHBbldgraf1UE4vK6NqSWbmINDjeVMwhvGznzMTKo31hXFH4_xL3yCnOtZIMZ_T6ZjJp6arSYyc&amp;isSdui=true\" target=\"_blank\" rel=\"noopener\">Safe Coding Agents in IntelliJ IDEA With Docker Sandboxes<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/glaforge.dev\/posts\/2026\/02\/06\/latest-gemini-and-nano-banana-enhancements-in-langchain4j\/\" target=\"_blank\" rel=\"noopener\">Latest Gemini and Nano Banana Enhancements in LangChain4j<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/spring.io\/blog\/2026\/01\/29\/spring-ai-agentic-patterns-a2a-integration\" target=\"_blank\" rel=\"noopener\">Spring AI Agentic Patterns (Part 5): Building Interoperable Agent Systems With A2A Integration<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.infoq.com\/articles\/prompts-to-production-playbook-for-agentic-development\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\" target=\"_blank\" rel=\"noopener\">From Prompts to Production: A Playbook for Agentic Development<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.infoq.com\/podcasts\/craft-software-architecture\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\" target=\"_blank\" rel=\"noopener\">The Craft of Software Architecture in the Age of AI Tools<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.infoq.com\/podcasts\/beyond-code-engineers-evolve-ai-era\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\" target=\"_blank\" rel=\"noopener\">Beyond Code: How Engineers Need to Evolve in the AI Era<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/windsurf-ai-java-code-quality\/\" target=\"_blank\" rel=\"noopener\">\ud83c\udf0a Windsurf AI + Sonar: The Agentic Dream Team for Java Devs \ud83d\ude80<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/enabling-ai-agents-to-use-a-real-debugger-instead-of-logging\/\" target=\"_blank\" rel=\"noopener\">Enabling AI Agents to Use a Real Debugger Instead of Logging<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/runtime-code-analysis-in-the-age-of-vibe-coding\/\" target=\"_blank\" rel=\"noopener\">Runtime Code Analysis in the Age of Vibe Coding<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/martinfowler.com\/articles\/exploring-gen-ai\/context-engineering-coding-agents.html\" target=\"_blank\" rel=\"noopener\">Context Engineering for Coding Agents<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/lucumr.pocoo.org\/2026\/2\/9\/a-language-for-agents\/\" target=\"_blank\" rel=\"noopener\">A Language For Agents<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=eTh1Ti32QDU\" target=\"_blank\" rel=\"noopener\">Easy Agent Skills With Spring AI and the New Skillsjars Project!<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Languages, Frameworks, Libraries, and Technologies<\/h2>\n\n\n\n<p>Discover what\u2019s new in the tools and technologies shaping your stack today:<\/p>\n\n\n\n<ul>\n<li>This Week in Spring <a href=\"https:\/\/spring.io\/blog\/2026\/02\/03\/this-week-in-spring-february-3rd-2026\" target=\"_blank\" rel=\"noopener\">1<\/a>, <a href=\"https:\/\/spring.io\/blog\/2026\/02\/10\/this-week-in-spring-february-10th-2026\" target=\"_blank\" rel=\"noopener\">2<\/a>, <a href=\"https:\/\/spring.io\/blog\/2026\/02\/17\/this-week-in-spring-february-17th-2026\" target=\"_blank\" rel=\"noopener\">3<\/a>, <a href=\"https:\/\/spring.io\/blog\/2026\/02\/24\/this-week-in-spring-february-24th-2026\" target=\"_blank\" rel=\"noopener\">4<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/glaforge.dev\/posts\/2026\/02\/01\/how-to-integrate-gemini-cli-with-intellij-idea-using-acp\/\" target=\"_blank\" rel=\"noopener\">How to Integrate Gemini CLI With IntelliJ IDEA Using ACP<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/spring.io\/blog\/2026\/02\/05\/a-bootiful-podcast-marco-behler\" target=\"_blank\" rel=\"noopener\">A Bootiful Podcast: JetBrains and Spring community Legend Marco Behler<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/02\/feedback-TDD-production\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\" target=\"_blank\" rel=\"noopener\">Getting Feedback From Test-Driven Development and Testing in Production<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/02\/kubernetes-ai-culture-impact\/?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global\" target=\"_blank\" rel=\"noopener\">Kubernetes Drives AI Expansion as Cultural Shift Becomes Critical<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/mongodb-sharding-what-to-know-before-you-shard\/\" target=\"_blank\" rel=\"noopener\">MongoDB Sharding: What to Know Before You Shard<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/foojay.io\/today\/the-shai-hulud-cyber-worm-and-more-thoughts-on-supply-chain-attacks\/\" target=\"_blank\" rel=\"noopener\">The Shai-Hulud Cyber Worm and More Thoughts on Supply Chain Attacks<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/mostlynerdless.de\/blog\/2026\/02\/24\/redacting-data-from-heap-dumps-via-hprof-redact\/\" target=\"_blank\" rel=\"noopener\">Redacting Data From Heap Dumps via hprof-redact \u2013 Mostly Nerdless<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conferences and Events<\/h2>\n\n\n\n<p>Plan your trips or schedule online presence for the following events:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/devnexus.com\" target=\"_blank\" rel=\"noopener\">Devnexus<\/a> \u2013 Atlanta, USA, March 4\u20136; <a href=\"https:\/\/www.linkedin.com\/in\/antonarhipov\/\" target=\"_blank\" rel=\"noopener\">Anton Arhipov<\/a> will speak about Debugging with IntelliJ IDEA and Database Migration Tools.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.javaland.eu\" target=\"_blank\" rel=\"noopener\">JavaLand<\/a> \u2013 Rust, Germany, March 10\u201312; <a href=\"https:\/\/maritvandijk.com\/\" target=\"_blank\" rel=\"noopener\">Marit van Dijk<\/a> is presenting a brand new talk Getting More out of Maven with <a href=\"https:\/\/andresalmiray.com\/\" data-type=\"link\" data-id=\"https:\/\/andresalmiray.com\/\" target=\"_blank\" rel=\"noopener\">Andres Almiray<\/a>. <\/li>\n\n\n\n<li><a href=\"https:\/\/www.oracle.com\/javaone\/\" target=\"_blank\" rel=\"noopener\">JavaOne<\/a> \u2013 Redwood City, USA, March 17\u201319; <a href=\"http:\/\/linkedin.com\/in\/antonarhipov\/\" target=\"_blank\" rel=\"noopener\">Anton Arhipov <\/a>and <a href=\"https:\/\/www.linkedin.com\/in\/arunpgupta\/\" target=\"_blank\" rel=\"noopener\">Arun Gupta<\/a> will be the event, come and meet them. <\/li>\n\n\n\n<li><a href=\"https:\/\/vdz26.voxxeddays.ch\" target=\"_blank\" rel=\"noopener\">Voxxed Days Zurich<\/a> \u2013 Zurich, Switzerland, March 24; <a href=\"https:\/\/maritvandijk.com\/\" target=\"_blank\" rel=\"noopener\">Marit van Dijk<\/a> is a speaker.<\/li>\n\n\n\n<li><a href=\"https:\/\/amsterdam.voxxeddays.com\/\" target=\"_blank\" rel=\"noopener\">Voxxed Days Amsterdam<\/a> \u2013  Amsterdam, the Netherlands, April 1-2; Meet the JetBrains people there &#8211; <a href=\"http:\/\/linkedin.com\/in\/antonarhipov\/\" target=\"_blank\" rel=\"noopener\">Anton Arhipov<\/a>, <a href=\"http:\/\/maritvandijk.com\" target=\"_blank\" rel=\"noopener\">Marit van Dijk<\/a>, and <a href=\"https:\/\/www.linkedin.com\/in\/rachelappel\/?locale=de\" target=\"_blank\" rel=\"noopener\">Rachel Appel<\/a>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Culture and Community<\/h2>\n\n\n\n<p>Join the conversation full of stories, voices, and ideas that bring developers together:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/seths.blog\/2007\/01\/how_to_be_remar\/\" target=\"_blank\" rel=\"noopener\">How to Be Remarkable<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.satisfice.com\/blog\/archives\/488009\" target=\"_blank\" rel=\"noopener\">So, You \u201910x\u2019d\u2019 Your Work\u2026<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.seangoedecke.com\/how-i-estimate-work\/\" target=\"_blank\" rel=\"noopener\">How I Estimate Work as a Staff Software Engineer<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/sive.rs\/get-specific\" target=\"_blank\" rel=\"noopener\">Get Specific!<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">And Finally\u2026<\/h2>\n\n\n\n<p>The most recent IntelliJ IDEA news and updates are here:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/platform\/2026\/02\/wayland-by-default-in-2026-1-eap\/\">Wayland By Default in 2026.1 EAP<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.jetbrains.com\/platform\/2026\/02\/editor-improvements-smooth-caret-animation-and-new-selection-behavior\/\">Editor Improvements: Smooth Caret Animation and New Selection Behavior<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2026\/02\/migrating-to-modular-monolith-using-spring-modulith-and-intellij-idea\/\">Migrating to Modular Monolith Using Spring Modulith and IntelliJ IDEA<\/a><\/li>\n<\/ul>\n\n\n\n<p>That\u2019s it for today! We\u2019re always collecting ideas for the next Java Annotated Monthly \u2013 send us your suggestions via <a href=\"https:\/\/mail.google.com\/mail\/u\/0\/?fs=1&amp;tf=cm&amp;source=mailto&amp;to=JAM@jetbrains.com\" target=\"_blank\" rel=\"noopener\">email<\/a> or <a href=\"https:\/\/x.com\/intellijidea?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor\" target=\"_blank\">X<\/a> by March 20. Don\u2019t forget to check out our archive of <a href=\"https:\/\/www.jetbrains.com\/lp\/jam\/\" target=\"_blank\" rel=\"noopener\">past JAM issues<\/a> for any articles you might have missed!<\/p>\n","protected":false},"author":1138,"featured_media":685694,"comment_status":"closed","ping_status":"closed","template":"","categories":[],"tags":[6847,40,155,3236,8647,21,276],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/idea\/685678"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/idea"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/types\/idea"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/users\/1138"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/comments?post=685678"}],"version-history":[{"count":8,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/idea\/685678\/revisions"}],"predecessor-version":[{"id":685987,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/idea\/685678\/revisions\/685987"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/media\/685694"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/media?parent=685678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/categories?post=685678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/tags?post=685678"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/de\/wp-json\/wp\/v2\/cross-post-tag?post=685678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}