Java
-

Money in Java: Why double Ruins Ledgers, and BigDecimal Against Minor Units
Every developer meets the same surprise sooner or later: 0.1 + 0.2 does not equal 0.3. In a toy program,…
Read More » -

Zero-Copy and the Page Cache: Why Kafka Is Fast, Using FileChannel.transferTo
Kafka moves enormous amounts of data, yet its brokers do surprisingly little work per byte. The secret is not clever…
Read More » -

Testing Non-Deterministic LLM Output in Java: Evaluation Harnesses for CI
Every Java developer knows the comfort of assertEquals. Give a method the same input, and you get the same output.…
Read More » -

Why synchronized Got Fast: The Rise and Removal of Biased Locking
For years, Java developers heard the same advice: “synchronized is slow, so avoid it.” Then, around Java 6, that advice…
Read More » -

Kubernetes CPU Limits and JVM Throttling: Why p99 Spikes With Plenty of Idle CPU
The dashboard looks calm. CPU usage sits near 20%, memory is fine, and yet the p99 latency graph keeps spiking.…
Read More » -

The Class-File API Replacing ASM: What It Means for Frameworks
Almost every Java developer has seen this error after a JDK upgrade: “Unsupported class file major version.” Behind it sits…
Read More » -

Prompt Caching in Spring AI with Anthropic Claude
Prompt caching lets Claude reuse the processing it already did on a prompt prefix instead of re-reading it from scratch…
Read More » -

Getting Started with FitNesse for Acceptance Testing in Java
FitNesse is a web-based wiki and acceptance-testing framework, originally built by Robert C. Martin as an extension of Ward Cunningham’s…
Read More » -

New Features in Java 27
Java 27 (also called JDK 27) was released on September 15, 2026. It’s a regular six-month feature release, not an…
Read More »


