Memory, security and AI shape what it costs to run software.

Where Did the Saved Bytes Go? Compact Object Headers in IntelliJ IDEA

🎯 Featured Article

🧠 Where Did the Saved Bytes Go? Compact Object Headers in IntelliJ IDEA Java 27 enables compact object headers by default, shrinking every object’s header, but real memory savings depend on object counts and the type of workload.

  • Header size dropping from 12 to 8 bytes in the tested 64-bit HotSpot setup
  • Measurements spanning heap dumps, resident memory and interactive IDE workloads

⏩ TL;DR (Quick Recap)

  • Compact object headers and streamed uploads targeting memory use in Java
  • Certificate authority compromise exposing the gap in Java patching speed
  • Spring Boot 3.5 end of life pushing migration to Spring Boot 4.x
  • AI agents changing coding, infrastructure choice and Spring AI workflows

☕ JVM Corner

🔐 Java Patching at Incident Speed: Lessons from the eMudhra CA Compromise eMudhra intermediate CAs were proven compromised. Browsers blocked them within hours, but Java estates need a faster patch.

  • Mozilla block in under three hours after receiving the report
  • Gap between automated browser trust updates and Java runtime patching

🧊 Immutable Data Beyond Value Classes Records, value classes, withers and lazy constants to make immutable data easier to model.

  • Features including flexible constructor bodies and records
  • Expressive options for constructing, copying and accessing data

🛠️ Dukehoff MCP for Java: an IDE for coding agents An open-source MCP server gives coding agents IDE-like tools.

  • Parser, index and refactoring engine exposed as agent tools
  • Measurements of where the tooling helps coding agents

⚖️ Rewrite Everything in Java: Not Rust Rust suits kernels, drivers and databases, but applications pay more to write, review and build with little payoff.
📤 Streaming Large File Uploads in Java Without Killing Your Server
Buffering large multipart uploads causes OutOfMemoryError in production and WebFlux tutorials often just hide the buffering.

🍃 Spring Updates

🐍 Spring AI Recipe: Running Python with Hosted Code Interpreter
Spring AI with OpenAI’s hosted Code Interpreter turns prompts into Python, runs it in the cloud and shows the code.

  • Prompt-to-Python execution inside a hosted cloud sandbox
  • Visibility into the generated code behind each answer

🚀 Spring Boot 4.2 Release Candidate Targets Startup Performance and Upgrade Checks Spring Boot 4.2.0-RC1 adds startup optimizations for executable JARs and migration checks that can block startup.

  • Default Buildpacks builder moving to Ubuntu 26.04 images
  • Configuration migration checks supporting upgrade testing

🧬 Using Your Own Embeddings in Spring AI 2.1 Support upsert for application-supplied embeddings and a similaritySearch overload.

  • Support for embeddings from images, video or audio
  • Index and search control without the store’s embedding model

🧪 Spring AI or LangChain4j? One App, Three Stacks, One Test One question-answering endpoint built in Spring AI, LangChain4j on Spring Boot, and LangChain4j on Quarkus, then run against one test.
🚧 Spring Boot 3.5 is out of support. A practical, step-by-step Spring Boot 4 migration guide. Open-source support for Spring Boot 3.x ended June 30, 2026. The guide targets Spring Boot 4.1.x on Java 17+.

🔍 Extra Reads

Developer Workflows
📜 The compiler was supposed to end programming too — FORTRAN was meant to end coding in 1954. AI tools in 2026 shift work without ending it.
🤖 Agents are choosing the software infrastructure now, and we’re not really ready — Agents now choose software infrastructure, reshaping developer marketing and raising trust questions.
🗒️ How I use AI (Oct 2026) — A one-year update on AI usage that now looks completely different.
💻 What Is the Best Local LLM for Mac in 2026? — Local LLM picks for Macs from 8GB to 512GB.
🎼 Conductor is joining Meta. — Conductor announces it is joining Meta, over a year after its July 2025 launch.

Platform
📨 Introducing Apache Kafka 4.4.0 — Ships 25 KIPs and 963 commits across all components.
🐹 A new Go API for JSON — Go 1.27 stabilizes encoding/json/v2 and encoding/json/jsontext.
🐘 Postgres 19 is late, and it’s AI’s fault — PostgreSQL 19 will likely ship in November, later than the usual September–October window.

Operations
🏗️ The Maven Build Cache in Practice — Lessons from introducing the Maven Build Cache in Azure DevOps pipelines.
🪵 Be Aware of What’s in Your Logs — Diagnostic logs can expose sensitive information when attached to bug reports or support requests.
📣 How We Share Foojay Posts on Social Media — A script automates Foojay’s article promotion across Mastodon, Bluesky, and LinkedIn.

Originally posted on marconak-matej.medium.com.