{"id":6796,"date":"2026-11-08T03:47:47","date_gmt":"2026-11-08T06:47:47","guid":{"rendered":"https:\/\/tucumandevelopers.com\/index.php\/2026\/11\/08\/java-annotated-monthly-november-2026\/"},"modified":"2026-11-08T03:47:47","modified_gmt":"2026-11-08T06:47:47","slug":"java-annotated-monthly-november-2026","status":"publish","type":"post","link":"https:\/\/tucumandevelopers.com\/index.php\/2026\/11\/08\/java-annotated-monthly-november-2026\/","title":{"rendered":"Java Annotated Monthly \u2013 November 2026"},"content":{"rendered":"<div>\n<div>\n<section data-clarity-region=\"article\">\n<div>\n<p><a href=\"\/idea\/category\/agentic-ai\/\">Agentic AI<\/a> <a href=\"\/idea\/category\/ai\/\">AI<\/a> <a href=\"\/idea\/category\/coding\/\">Coding<\/a> <a href=\"\/idea\/category\/intellij\/\">IntelliJ<\/a> <a href=\"\/idea\/category\/idea\/\">IntelliJ IDEA<\/a> <a href=\"\/idea\/category\/java\/\">Java<\/a> <a href=\"\/idea\/category\/jetbrains-air\/\">JetBrains Air<\/a> <a href=\"\/idea\/category\/kotlin\/\">Kotlin<\/a><\/p>\n<p>October kept the Java world busy, with JDK news, fresh tutorials, Kotlin updates, AI experiments, and plenty more from across the wider ecosystem. We\u2019ve gathered the best of it in one place, so you can skip the scrolling and get straight to the good stuff. To top it all off, Piotr Przyby\u0142 joins us as this month\u2019s featured guest.<\/p>\n<p>Let\u2019s go!<\/p>\n<h2>Featured Content<\/h2>\n<div>\n<div>\n<h4>Piotr Przyby\u0142<\/h4>\n<p><a href=\"https:\/\/softwaregarden.dev\/\" target=\"_blank\" rel=\"noopener\">Piotr Przyby\u0142<\/a>&nbsp; \u2013 Notorious engineer at work and after hours, tracing the meanders of the art of software engineering. Remote Software Gardener, mostly working in web-oriented Java gardens. Java Champion. Docker Captain. Testcontainers Champion. Programming usually in Java (since 1.3), Scala, and Go, but in other languages too. Fan of agility, seen mostly as choosing the right tools and approaches after asking the right questions. Developer, trainer, and conference speaker, currently working at Elastic as a Senior Developer Advocate.<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<p>Greetings, fellow Java developers! It\u2019s a pleasure to be here again \u2013 it\u2019s been three Java releases since the last time. We all know that means roughly 18 months, don\u2019t we? \ud83d\ude09<br \/>Both the world and our ecosystem were moving fast back then, and it seems they have only accelerated. This means one thing: good luck trying to keep up to date with everything. Luckily for us all, newsletters like this one help.<\/p>\n<p>The autumn conference season of 2026 is slowing down. It was a busy and exciting one, for me in particular, because Java 28 is already shaping up. And if you look at the list of JEPs already there, how can you not be excited? <a href=\"https:\/\/openjdk.org\/jeps\/543\" target=\"_blank\" rel=\"noopener\">Structured Concurrency is set to become final<\/a> in March 2027, yay! Bye-bye, CompletableFuture, it was fun knowing you\u2026 not ;-). CF isn\u2019t going anywhere, but it won\u2019t be the best abstraction for concurrent subtasks.&nbsp;<br \/>Apart from that, there\u2019s going to be one less thing for me to rant about, because Java is going to have (for now as an incubator module) a Simple JSON API. If your microservice only has to send one simple REST request with a JSON body, maybe this plus the JDK\u2019s HTTP client will be enough? You can <a href=\"https:\/\/youtu.be\/kdqJD94Cpos\" target=\"_blank\" rel=\"noopener\">learn about it from Dan Vega<\/a>.<br \/>There are going to be improvements to GCs and more performance goodies, but my personal favourite is going to be Value Objects, because 42 is always 42, and it shouldn\u2019t need an identity crisis to answer everything. I believe VOs will change the way we think about and work with data in Java. The need for this improvement is already here, because AI, like it or not, also means exchanging an awful lot of tokens and vectors.<\/p>\n<p>To give you a taste of that, the following code yields different results on a default HotSpot configuration, with and without the value-object preview enabled:<\/p>\n<pre data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Integer x = 1024, y = 1024; IO.println(x == y)<\/pre>\n<p>Intrigued? For more, please check out my post <a href=\"https:\/\/softwaregarden.dev\/en\/posts\/new-java\/valhalla\/the-dawn\/\" target=\"_blank\" rel=\"noopener\"><em>Java isn\u2019t dead yet, but it can\u2019t avoid Valhalla<\/em><\/a>.<\/p>\n<p>You may say, \u201cOkay, but these are preview features or incubator modules; they can\u2019t be used in production.\u201d That\u2019s not a blanket rule, although compatibility and support deserve a closer look. Sometimes even a non-GA feature of Java can be mature and worthwhile enough for you to make it a part of your library and code. I\u2019m talking about the <a href=\"https:\/\/openjdk.org\/jeps\/537\" target=\"_blank\" rel=\"noopener\">Vector API<\/a> already being used in Lucene and Elasticsearch, and you can learn more about how it powers semantic search in them in <a href=\"https:\/\/youtu.be\/adFS-_sCTQ4\" target=\"_blank\" rel=\"noopener\">one of my recent talks<\/a>. If you prefer reading about SIMD, Krzysztof \u015alusarski has you covered with<a href=\"https:\/\/krzysztofslusarski.github.io\/2026\/09\/05\/simd.html\" target=\"_blank\" rel=\"noopener\"> this post<\/a>.<\/p>\n<p>I could go on and on about the exciting stuff in recent and upcoming Java releases. <a href=\"https:\/\/maritvandijk.com\/\" target=\"_blank\" rel=\"noopener\">Marit van Dijk<\/a> and I weren\u2019t quite able to curb our enthusiasm for them, as can be seen in <a href=\"https:\/\/youtu.be\/QBQ11aL2aZc\" target=\"_blank\" rel=\"noopener\">&nbsp;this three-hour-long deep dive<\/a> from Devoxx Belgium \ud83d\ude05. (We simply forgot to take a break, sorry!)<br \/>If you can spare just one hour, here\u2019s <a href=\"https:\/\/youtu.be\/Tkpj6iJFOLU\" target=\"_blank\" rel=\"noopener\">a shorter and more compact version<\/a> from Hello Stavanger.<\/p>\n<p>A big congrats to Marit, my partner on stage, for becoming <a href=\"https:\/\/javaspecialists.eu\/talks\/ubiquitous\/2026\/\" target=\"_blank\" rel=\"noopener\">the most ubiquitous Java speaker<\/a> for 2026!<\/p>\n<h2>Java News<\/h2>\n<p>Catch up on the latest updates:&nbsp;<\/p>\n<ul>\n<li>Java News Roundup<a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/java-news-roundup-sep28-2026\/\" target=\"_blank\" rel=\"noopener\"> 1<\/a>,<a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/java-news-roundup-oct05-2026\/\" target=\"_blank\" rel=\"noopener\"> 2<\/a>,<a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/java-news-roundup-oct12-2026\/\" target=\"_blank\" rel=\"noopener\"> 3<\/a>,<a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/java-news-roundup-oct19-2026\/\" target=\"_blank\" rel=\"noopener\"> 4<\/a>&nbsp;<\/li>\n<li><a href=\"https:\/\/nipafx.dev\/inside-java-newscast-115\" target=\"_blank\" rel=\"noopener\">OpenJDK Bug Fixing, JavaOne, and JDK 28 \u2013 Inside Java Newscast #116<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/javafx-links-of-october-2026\/\" target=\"_blank\" rel=\"noopener\">JavaFX Links of October 2026<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/foojay-podcast-104\/\" target=\"_blank\" rel=\"noopener\">Foojay Podcast #104: 53 CVEs, Two Emergency Releases: Why Java Security Holds Up with Simon Ritter<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/30\/jdk27-gc-changes\/\" target=\"_blank\" rel=\"noopener\">JDK 27 G1\/Parallel\/Serial GC changes<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/23\/confined-pools\/\" target=\"_blank\" rel=\"noopener\">Allocating Off-Heap Memory: Typically 6-18x Faster in JDK 28<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/emudhra-ca-compromise\/\" target=\"_blank\" rel=\"noopener\">eMudhra Intermediate CA Compromise<\/a><\/li>\n<li><a href=\"https:\/\/bell-sw.com\/blog\/distrusting-compromised-emudhra-intermediates-in-java\/\" target=\"_blank\" rel=\"noopener\">Distrusting Compromised eMudhra Intermediates in Java<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/17\/podcast-072\/\" target=\"_blank\" rel=\"noopener\">Episode 72 \u201cOpenJDK Bug Fixing, JavaOne, and JDK 28\u201d [IJN]<\/a><\/li>\n<\/ul>\n<p>Some JEPs to pay attention to:&nbsp;<\/p>\n<ul>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/25\/jep544-target-jdk28\/\" target=\"_blank\" rel=\"noopener\">JEP 544: Ahead-of-Time Code Compilation<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/21\/jep543-target-jdk28\/\" target=\"_blank\" rel=\"noopener\">JEP 543: Structured Concurrency<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/jep-543-jdk-28\/\" target=\"_blank\" rel=\"noopener\">JEP 543 Finalizes Structured Concurrency in JDK 28, Ending Seven Preview Rounds<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/19\/jep546-target-jdk28\/\" target=\"_blank\" rel=\"noopener\">JEP 546: Adaptive Heap Sizing for ZGC<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/16\/jep545-target-jdk28\/\" target=\"_blank\" rel=\"noopener\">JEP 545: Faster Startup and Warmup with ZGC<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/06\/jep542-target-jdk28\/\" target=\"_blank\" rel=\"noopener\">JEP 542: PEM Encodings of Cryptographic Objects<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/02\/jep549-target-jdk28\/\" target=\"_blank\" rel=\"noopener\">JEP 540: Simple JSON API (Incubator)<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/27\/quality-heads-up\/\" target=\"_blank\" rel=\"noopener\">Quality Outreach Heads-up \u2013 JDK 28: Value Classes<\/a><\/li>\n<\/ul>\n<h2><strong>Java Tutorials and Tips<\/strong><\/h2>\n<p>Practical guides, clever shortcuts, and fresh ideas to help you understand Java better:&nbsp;<\/p>\n<ul>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/28\/java-secure-coding-guidelines\/\" target=\"_blank\" rel=\"noopener\">Java Secure Coding Guidelines<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/29\/podcast-073\/\" target=\"_blank\" rel=\"noopener\">Episode 73 \u201cImmutable Data Beyond Value Classes\u201d<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/22\/jvm-diagnosis\/\" target=\"_blank\" rel=\"noopener\">What\u2019s Going Wrong with My JVM?! A Guide to First-Time Failure Diagnosis<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/20\/devoxxbelgium-bringing-gpu-computing-to-java\/\" target=\"_blank\" rel=\"noopener\">Reflect, Transform, Accelerate: Bringing GPU Computing to Java<\/a><\/li>\n<li><a href=\"https:\/\/nipafx.dev\/talk-modern-java\" target=\"_blank\" rel=\"noopener\">Modern Java \u2013 Past | Present | Future<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/foojay-podcast-103\/\" target=\"_blank\" rel=\"noopener\">Foojay Podcast #103: Killing Reflection at Build Time with Dmitry Moskalyuk and Shai Almog<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/14\/devoxxbelgium-everyday-json\/\" target=\"_blank\" rel=\"noopener\">Everyday JSON in Java<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/12\/devoxxbelgium-structured-concurrency\/\" target=\"_blank\" rel=\"noopener\">Structured Concurrency Looms<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/11\/devoxxbelgium-runtime-year-keynite\/\" target=\"_blank\" rel=\"noopener\">Java \u2013 The Year of the Runtime!<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=Tkpj6iJFOLU\" target=\"_blank\" rel=\"noopener\">Learning modern Java the playful way \u2013 Piotr Przybyl, Marit van Dijk \u2013 HelloStavanger 2026<\/a><\/li>\n<li>Bootiful podcasts you don\u2019t want to miss:\n<ul>\n<li><a href=\"https:\/\/spring.io\/blog\/2026\/10\/29\/a-bootiful-podcast-lukas-eder\" target=\"_blank\" rel=\"noopener\">\u2018Data Geekery\u2019 with JOOQ creator Lukas Eder<\/a><\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2026\/10\/15\/a-bootiful-podcast-andrew-lombardi\" target=\"_blank\" rel=\"noopener\">Can Java be more performant than Rust? Andrew Lombardi has the numbers<\/a><\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2026\/10\/08\/a-bootiful-podcast-kohsuke-kawaguchi\" target=\"_blank\" rel=\"noopener\">Legendary Java developer Kohsuke Kawaguchi<\/a><\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2026\/10\/01\/a-bootiful-podcast-andres-almiray\" target=\"_blank\" rel=\"noopener\">JReleaser creator and fellow Java Champion Andres Almiray<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>IntelliJ IDEA Tech Talks: <a href=\"https:\/\/www.youtube.com\/watch?v=xBNBjYH-foE&amp;list=PLBolw4tavnAY\" target=\"_blank\" rel=\"noopener\">Playlist<\/a><\/li>\n<li>IntelliJ IDEA Conf 2026: <a href=\"https:\/\/www.youtube.com\/watch?v=r2VkVftW7OE&amp;list=PLPZy-hmwOdEWItbnW5iDHlXLwnq5RTVYi\" target=\"_blank\" rel=\"noopener\">Playlist&nbsp;<\/a><\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/foojay.io\/today\/optimizing-nanosecond-operations-when-the-cpu-cache-matters\/\" target=\"_blank\" rel=\"noopener\">Optimizing nanosecond operations: when the CPU cache matters<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/batch-processing-mongodb-jakarta-ee-customer-segmentation\/\" target=\"_blank\" rel=\"noopener\">Batch Processing with MongoDB and Jakarta EE: From Customer Segmentation to Scalable Workflows<\/a><\/li>\n<li><a href=\"https:\/\/dzone.com\/articles\/declarative-database-schema-management\" target=\"_blank\" rel=\"noopener\">Stop Writing Database Migration Scripts: Declarative Schema Sync for Java<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/maven-build-cache-in-practice\/\" target=\"_blank\" rel=\"noopener\">The Maven Build Cache in Practice<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/jvm-on-unikernel-nanos-gc-trade-offs-and-heap-uncommit\/\" target=\"_blank\" rel=\"noopener\">JVM on Unikernel Nanos \u2013 GC trade-offs and heap uncommit<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/free-java-real-risk-why-unsupported-openjdk-is-now-a-security-gamble\/\" target=\"_blank\" rel=\"noopener\">Free Java, Real Risk: Why Unsupported OpenJDK Is Now a Security Gamble<\/a><\/li>\n<li><a href=\"https:\/\/dzone.com\/articles\/kafka-message-search-kafdrop\" target=\"_blank\" rel=\"noopener\">Searching Kafka Without an Index: Lessons From Building Message Search for Kafdrop<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/what-jstack-misses-when-your-java-service-uses-virtual-threads\/\" target=\"_blank\" rel=\"noopener\">What jstack Misses When Your Java Service Uses Virtual Threads<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/java-new-features-in-production\/\" target=\"_blank\" rel=\"noopener\">New Java Features Are Not Just for Interviews. Two Real-World Use Cases from Axelix<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/exact-prices-in-java\/\" target=\"_blank\" rel=\"noopener\">Exact Prices in Java: Decimal Strings and BigDecimal Traps<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/java-stream-gatherers\/\" target=\"_blank\" rel=\"noopener\">Java Stream Gatherers: From Built-in Patterns to Custom Pipeline Mechanics<\/a><\/li>\n<li><a href=\"https:\/\/dzone.com\/articles\/java-virtual-threads-limits\" target=\"_blank\" rel=\"noopener\">Java Virtual Threads Under Load: Three Production Limits<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/upgrading-java-21-to-25-what-actually-breaks\/\" target=\"_blank\" rel=\"noopener\">Upgrading from Java 21 to 25: What Actually Breaks<\/a><\/li>\n<li><a href=\"https:\/\/dzone.com\/articles\/complex-event-processing\" target=\"_blank\" rel=\"noopener\">Complex Event Processing (CEP) With Apache Flink: What It Is and When (Not) to Use It<\/a><\/li>\n<li><a href=\"https:\/\/serce.me\/posts\/2026-10-30-how-hard-is-it-to-check-for-whitespace\" target=\"_blank\" rel=\"noopener\">How Hard Is It to Check for Whitespace?<\/a><\/li>\n<li><a href=\"https:\/\/dzone.com\/articles\/jvm-25-virtual-threads\" target=\"_blank\" rel=\"noopener\">Going All In On the JVM 25 Virtual Threads<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/introduction-to-error-prone-how-to-catch-bugs-at-compile-time\/\" target=\"_blank\" rel=\"noopener\">Introduction to Error Prone: How to Catch Bugs at Compile Time<\/a><\/li>\n<li><a href=\"https:\/\/dzone.com\/articles\/java-questdb-time-series\" target=\"_blank\" rel=\"noopener\">Building High-Performance Time-Series Applications With Java and QuestDB<\/a>&nbsp;<\/li>\n<\/ul>\n<h2><strong>Kotlin Corner<\/strong><\/h2>\n<p>Explore what\u2019s new in Kotlin, sharpen your skills, and put your knowledge into practice:<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2026\/10\/kodee-s-kotlin-roundup-shipaton-2026-winners-kotlin-2-5-0-beta2-and-kotlinconf-2027\/\">Kodee\u2019s Kotlin Roundup: Shipaton 2026 Winners, Kotlin 2.5.0-Beta2, and KotlinConf 2027<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2026\/09\/state-of-kotlin-2026-report\/\">The State of Kotlin in 2026 Report<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2026\/09\/the-companions-to-come\/\">The Companions to Come<\/a><\/li>\n<li><a href=\"https:\/\/surveys.jetbrains.com\/s3\/kotlin-developer-survey-2026\" target=\"_blank\" rel=\"noopener\">Kotlin Developer Survey 2026<\/a><\/li>\n<li><a href=\"https:\/\/kotlinconf.com\/\" target=\"_blank\" rel=\"noopener\">KotlinConf 2027 is coming to Krak\u00f3w<\/a><\/li>\n<li><a href=\"https:\/\/dzone.com\/articles\/kotlin-java-spring-testing\" target=\"_blank\" rel=\"noopener\">Testing Java and Spring Applications With Kotlin: Low-Risk to Adoption<\/a><\/li>\n<li><a href=\"https:\/\/dzone.com\/articles\/kotlin-java-enterprise-choice\" target=\"_blank\" rel=\"noopener\">Why Kotlin or Java Is the Wrong Question For Enterprises<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2026\/10\/google-summer-of-code-2026-with-kotlin\/\">Google Summer of Code 2026 With the Kotlin Foundation: Recap<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2026\/10\/what-makes-a-great-kotlinconf-proposal\/\">What Makes a Great KotlinConf Proposal?<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/instagram-compose-migration\/\" target=\"_blank\" rel=\"noopener\">Instagram Modernized Its UI with an AI-Native Architecture, Cutting Token Costs by 33%<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2026\/10\/kotlinconf-recap-lessons-from-verifone-s-architect-on-kotlin-in-mission-critical-payments\/\">KotlinConf Recap: Lessons from Verifone\u2019s Architect on Kotlin in Mission-Critical Payments<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2026\/10\/start-your-next-kmp-app-with-kotlin-toolchain-0-13\/\">Start Your Next KMP App With Kotlin Toolchain 0.13<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2026\/10\/discontinuing-swift-language-ide-support-in-the-kotlin-multiplatform-plugin\/\">Discontinuing Swift Language IDE Support in the Kotlin Multiplatform Plugin<\/a><\/li>\n<\/ul>\n<h2><strong>AI<\/strong><\/h2>\n<p>Discover smarter AI workflows and see how they reshape development \u2013 this month with a healthy dose of reality checks:<\/p>\n<ul>\n<li><a href=\"https:\/\/dzone.com\/articles\/quarkus-a2a-agent-governance\" target=\"_blank\" rel=\"noopener\">Part 4: Multi-Agent Orchestration \u2013 Pairing Goose With Quarkus Flow State Machines<\/a><\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2026\/10\/26\/spring-office-hours-podcast-S5E27\" target=\"_blank\" rel=\"noopener\">Spring Office Hours Podcast: S5E27 \u2013 Hugging Face for Java Developers with Pratik Patel<\/a><\/li>\n<li><a href=\"https:\/\/kpavlov.me\/blog\/tachyon-mcp-1.0\/\" target=\"_blank\" rel=\"noopener\">Tachyon MCP 1.0<\/a><\/li>\n<li><a href=\"https:\/\/paulbakker.io\/writing\/how-not-to-use-ai-for-pull-requests-and-code-changes\/\" target=\"_blank\" rel=\"noopener\">How Not to Use AI for Pull Requests and Code Changes<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/java-champions-github-copilot\/\" target=\"_blank\" rel=\"noopener\">How three Java Champions put GitHub Copilot to work<\/a><\/li>\n<li><a href=\"https:\/\/inside.java\/2026\/10\/15\/java-fit-ai-world\/\" target=\"_blank\" rel=\"noopener\">How Does Java Fit Into the World of AI \u2013 and How Can It Become an Even Better Fit?<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/ai\/2026\/10\/how-netflix-made-ai-coding-agents-more-efficient\/\">How Netflix Made AI Coding Agents More Efficient with JetBrains IDE Intelligence<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/what-i-learned-building-an-ai-code-reviewer-with-java-spring-boot\/\" target=\"_blank\" rel=\"noopener\">What I Learned Building an AI Code Reviewer with Java and Spring Boot<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/embedding-strategies-job-search\/\" target=\"_blank\" rel=\"noopener\">One Embedding per Job, or Two? Measuring Semantic Search in a Spring Boot Job Portal<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/your-agents-dont-need-an-llm-to-negotiate\/\" target=\"_blank\" rel=\"noopener\">Your agents don\u2019t need an LLM to negotiate<\/a><\/li>\n<li><a href=\"https:\/\/foojay.io\/today\/how-to-create-test-install-agent-skills\/\" target=\"_blank\" rel=\"noopener\">How to Create Agent Skills: Tools, Testing, and Installation<\/a><\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/www.infoq.com\/articles\/agentic-ai-context-memory-knowledge\/\" target=\"_blank\" rel=\"noopener\">Systemic Approach to Memory, Knowledge, and Context in Agentic AI Architectures<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/anthropic-code-review\/\" target=\"_blank\" rel=\"noopener\">Anthropic Says Nobody Needs a Mental Model of Claude Code. Practitioners Are Testing That<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/atlassian-devex-2026\/\" target=\"_blank\" rel=\"noopener\">Developers Reporting Double-Digit Weekly Time Savings From AI Fell From 68% to 26%<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/jellyfish-ai-productivity\/\" target=\"_blank\" rel=\"noopener\">Study Finds AI-generated Code Fails to Boost Productivity Due to Downstream Bottlenecks<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/presentations\/actors-for-production-ai-agents\/\" target=\"_blank\" rel=\"noopener\">Actors for Agents: Patterns for Production AI<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/presentations\/dora-ai-adoption-engineering-performance\/\" target=\"_blank\" rel=\"noopener\">AI is an Amplifier: Scale High Performance, Not Dysfunction<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/articles\/distributed-systems-microservices-agentic-ai\/\" target=\"_blank\" rel=\"noopener\">From Microservices to Agents: The Next Evolution of Distributed Systems<\/a><\/li>\n<\/ul>\n<h2>Languages, Frameworks, Libraries, and Technologies<\/h2>\n<p>Look beyond Java, Kotlin, and AI. There\u2019s more happening across development:<\/p>\n<ul>\n<li>This Week in Spring<a href=\"https:\/\/spring.io\/blog\/2026\/10\/06\/this-week-in-spring-october-6th-2026\" target=\"_blank\" rel=\"noopener\"> 1<\/a>,<a href=\"https:\/\/spring.io\/blog\/2026\/10\/13\/this-week-in-spring-october-13th-2026\" target=\"_blank\" rel=\"noopener\"> 2<\/a>,<a href=\"https:\/\/spring.io\/blog\/2026\/10\/20\/this-week-in-spring-october-20th-2026\" target=\"_blank\" rel=\"noopener\"> 3<\/a>,<a href=\"https:\/\/spring.io\/blog\/2026\/10\/27\/this-week-in-spring-october-27th-2026\" target=\"_blank\" rel=\"noopener\"> 4<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/articles\/spring-batch-without-broker\/\" target=\"_blank\" rel=\"noopener\">Distributed Spring Batch Without a Message Broker<\/a><\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2026\/10\/19\/spring-office-hours-podcast-S5E26\" target=\"_blank\" rel=\"noopener\">Spring Office Hours Podcast: S5E26 \u2013 dev2Next, Native JSON and a Week of New Models<\/a><\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2026\/10\/05\/spring-office-hours-podcast-S5E25\" target=\"_blank\" rel=\"noopener\">Spring Office Hours Podcast: S5E25 \u2013 Future of Software Development with Josh Long<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/open-source-ai-security\/\" target=\"_blank\" rel=\"noopener\">AI Agents Are Disrupting Open Source Security Disclosure<\/a><\/li>\n<\/ul>\n<h2>Conferences and Events<\/h2>\n<p>Plan your education sessions and networking, both online and offline:<\/p>\n<ul>\n<li><a href=\"https:\/\/jax.de\/muenchen\/\" target=\"_blank\" rel=\"noopener\">W-Jax<\/a> \u2013 Online or Munich, Germany, November 2\u20136<\/li>\n<li><a href=\"https:\/\/oredev.org\/\" target=\"_blank\" rel=\"noopener\">\u00d8redev<\/a> \u2013 Malm\u00f6, Sweden, November 4\u20136<\/li>\n<li><a href=\"https:\/\/devoxx.ma\/\" target=\"_blank\" rel=\"noopener\">Devoxx Morocco<\/a> \u2013 Casablanca, Morocco, November 4\u20135<\/li>\n<li><a href=\"https:\/\/2026.jconf.gt\/en\/\" target=\"_blank\" rel=\"noopener\">JConf Guatemala<\/a> \u2013 Guatemala City, Guatemala, November 7<\/li>\n<li><a href=\"https:\/\/jfall.nl\/\" target=\"_blank\" rel=\"noopener\">JFall<\/a> \u2013<strong> <\/strong>Path\u00e9 Ede, Netherlands, November 6<\/li>\n<li><a href=\"https:\/\/voxxeddays.com\/thessaloniki\/\" target=\"_blank\" rel=\"noopener\">Voxxed Days Thesalloniki<\/a> \u2013 Thesalloniki, Greece, November 7\u20138<\/li>\n<li><a href=\"https:\/\/javafest.org\/\" target=\"_blank\" rel=\"noopener\">JavaFest India<\/a> \u2013 Bengaluru, India, November 8<\/li>\n<li><a href=\"https:\/\/jfall.nl\/\" target=\"_blank\" rel=\"noopener\">JFall<\/a> \u2013 Path\u00e9 Ede, Netherlands, November 11\u201312<\/li>\n<li><a href=\"https:\/\/au.churconf.com\/\" target=\"_blank\" rel=\"noopener\">ChurConf<\/a> \u2013 Sydney, Australia, November 18<\/li>\n<li><a href=\"https:\/\/devoxx.com\/event\/voxxed-days-thessaloniki-2026\" target=\"_blank\" rel=\"noopener\">Voxxed Days Thessaloniki<\/a> \u2013 Thessaloniki, Greece, November 20\u201321<\/li>\n<li><a href=\"https:\/\/javadays.cz\/cs\/\" target=\"_blank\" rel=\"noopener\">JavaDays Czech Republic<\/a> \u2013 Online or Prague, Czech Republic, November 25\u201326<\/li>\n<\/ul>\n<h2>Culture and Community\\<\/h2>\n<p>Find articles on developer life, career growth, and how engineers keep learning to survive with AI:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.infoq.com\/podcasts\/educating-architect-conversation-luca-mezzalira\/\" target=\"_blank\" rel=\"noopener\">Educating an Architect: A Conversation with Luca Mezzalira<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/presentations\/ai-software-engineering-pipeline\/\" target=\"_blank\" rel=\"noopener\">The Ladder Is Missing Rungs: Engineering Progression When AI Ate the Middle<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/AI-environmentally-sustainable\/\" target=\"_blank\" rel=\"noopener\">How to Make Artificial Intelligence More Environmentally Sustainable<\/a><\/li>\n<li><a href=\"https:\/\/dzone.com\/articles\/member-spotlight-shai-almong\" target=\"_blank\" rel=\"noopener\">Member Spotlight: Shai Almog<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/optimize-software-workflow\/\" target=\"_blank\" rel=\"noopener\">Optimizing Software Workflow: Exploring Fundamental Impacts in Technology<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/presentations\/ai-cloud-cost-economics\/\" target=\"_blank\" rel=\"noopener\">You Can\u2019t Trust Your AI Bill. And Neither Can I<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/podcasts\/what-really-mean-program-ai\/\" target=\"_blank\" rel=\"noopener\">What Does It Really Mean To Program With AI: A Conversation with Joy Ebertz<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/podcasts\/building-trust-feedback-alignment\/\" target=\"_blank\" rel=\"noopener\">The Minimum Viable Manager: Building Trust, Feedback, and Alignment<\/a><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2026\/10\/software-engineering-skills\/\" target=\"_blank\" rel=\"noopener\">How to Develop Software Engineering Skills in the Age of AI<\/a><\/li>\n<\/ul>\n<h2>And Finally\u2026<\/h2>\n<p>Check out what\u2019s new from the IntelliJ IDEA blog in October:<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2026\/11\/whats-new-in-intellij-idea-2026-3\/\">What\u2019s New in IntelliJ IDEA 2026.3<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2026\/11\/whats-fixed-in-intellij-idea-2026-3\/\">What\u2019s fixed in IntelliJ IDEA 2026.3<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/blog\/2026\/09\/22\/introducing-jetbrains-air\/\">JetBrains Air: Building a System of Products for Agentic Software Development<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/ai\/2026\/10\/air-in-ides-eap\/\">A New Agentic Experience: JetBrains Air in IDEs \u2013 EAP Now Open<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2026\/10\/intellij-idea-s-java-and-kotlin-for-cursor-and-vs-code-hits-1-0\/\">IntelliJ IDEA\u2019s Java and Kotlin for Cursor and VS Code Hits 1.0<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/security\/2026\/10\/compromised-emudhra-certificates-ides\/\">Compromised eMudhra Certificates: Update Your JetBrains IDEs, ReSharper, .NET Tools, Toolbox App, and Gateway Now<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2026\/10\/your-next-action-is-two-dots-away\/\">Your Next Action Is Two Dots Away<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2026\/11\/where-did-the-saved-bytes-go-compact-object-headers-in-intellij-idea\/\">Where Did the Saved Bytes Go? Compact Object Headers in IntelliJ IDEA<\/a><\/li>\n<\/ul>\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\">X<\/a> by November 20. Remember 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<\/p><\/div>\n<p> <a href=\"#\"><\/a> <\/section>\n<div>\n<p><h2>Discover more<\/h2>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Fuente: <a href=\"https:\/\/blog.jetbrains.com\/idea\/2026\/11\/java-annotated-monthly-november-2026\/\">Art\u00edculo original<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Agentic AI AI Coding IntelliJ IntelliJ IDEA Java JetBrains Air Kotlin October kept the Java world busy, with JDK news, fresh tutorials, Kotlin updates, AI experiments, and plenty more from across the wider ecosystem. We\u2019ve gathered the best of it in one place, so you can skip the scrolling and get straight to the good [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6795,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"webixso_pending_account_ids":""},"categories":[46],"tags":[],"class_list":["post-6796","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jetbrain"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/6796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/comments?post=6796"}],"version-history":[{"count":0,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/posts\/6796\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media\/6795"}],"wp:attachment":[{"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/media?parent=6796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/categories?post=6796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tucumandevelopers.com\/index.php\/wp-json\/wp\/v2\/tags?post=6796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}