Java
-

Java 26 Primitive Types in Patterns — The Interview Trap
Java 26 ships JEP 530 — the fourth preview of primitive types in patterns — and with it comes one of the…
Read More » -

Implementing Quantum-Resistant ML-KEM and ML-DSA in Java
As quantum computing continues to evolve, traditional public-key cryptographic algorithms such as RSA, DSA, and Elliptic Curve Cryptography (ECC) face…
Read More » -

Getting Started with WebDriverManager
Selenium WebDriver is a widely used framework for browser automation, but managing browser drivers manually can be time-consuming and error-prone…
Read More » -

Spring AI 2.0 + MCP: Building a Tool-Calling Agent in 50 Lines
Spring AI 2.0-M6, shipped May 8, 2026, is the milestone where building an MCP tool-calling agent in Java stops feeling…
Read More » -

Virtual Thread Pinning: The Silent Performance Killer in Your Codebase
Virtual threads promise to make blocking I/O cheap. And they do — as long as they can actually unmount from…
Read More » -

Records in Production: Where They Shine and Where They Silently Fail
Records are one of the most genuinely useful additions to modern Java. They eliminate boilerplate, communicate immutability at the type-system…
Read More » -

Why Your Integration Tests Are Slower Than They Should Be: The Spring Context Cache You Don’t Know You’re Misusing
Every JCG article recommends @SpringBootTest for integration testing. Almost none explain the context cache model underneath it — how a single misplaced @DirtiesContext,…
Read More » -

The Split-Brain Problem in Plain English — And the Three Ways Your Distributed Cache Handles It Wrong
Redis Sentinel, Hazelcast, and Infinispan all have split-brain documentation. None of them tell you what your Java code silently observes…
Read More » -

ThreadLocal Is a Memory Leak Waiting to Happen With Virtual Threads — Here’s the Proof
ThreadLocal was designed for a world of 200 pooled platform threads living for the life of an application. Virtual threads…
Read More »


