Java
-

Coordinated Omission: Why Your Latency Benchmark Flatters You
Your load test says the 99th percentile is fine. Meanwhile, a thousand requests quietly vanished from the results. The Benchmark…
Read More » -

MCP Logging in Spring AI
The Model Context Protocol (MCP) lets an AI application call out to external tools and data sources through a standard…
Read More » -

A Guide to Structured Output in Spring AI
Large Language Models (LLMs) naturally respond with free-form text. That’s great for a chat interface, but most applications need to…
Read More » -

BEAM Supervision Trees and “Let It Crash”: What Java Services Can Steal from Erlang
Most Java code tries hard to never fail. Erlang takes the opposite view, and the idea travels better than you…
Read More » -

Strings and Unicode: UTF-16, Compact Strings, and Why Emoji Break charAt
Java says a string has two characters, while your user sees exactly one. Both answers are correct, and that is…
Read More » -

JFR Event Streaming: Continuous Production Profiling Without a Vendor Agent
Your JVM already ships with a profiler that is safe for production. Since JDK 14, it can also talk to…
Read More » -

Mutation testing with PIT: why 100% coverage proves almost nothing
PIT (also called Pitest) is the usual mutation testing tool for the JVM. It generates mutants for you, using a…
Read More » -

LongAdder vs AtomicLong: Why a Single Counter Collapses Under Contention
A counter is the “hello world” of concurrent programming. Count requests, count cache hits, count bytes sent. One shared number,…
Read More »

