-
Core Java

Harvest Now, Decrypt Later: What JEP 527 Hybrid Key Exchange Protects and What It Doesn’t
An attacker does not need a quantum computer today to threaten your data. They only need a disk. If they…
Read More » -
Core 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 » -
Core Java

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 » -
Core Java

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 » -
Core Java

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 » -
Core Java

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 » -
Software Development

Rate-Limiting Algorithms: Token Bucket Against Sliding Window
Every public API eventually meets a client that sends too much, too fast. A rate limiter is the bouncer at…
Read More » -
Core Java

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 » -
Software Development

Contract Testing vs Integration Testing: Pact, Testcontainers, and Where Each One Pays Off
Picture a familiar Friday. Every test in both services is green, so the team deploys. Minutes later, the checkout page…
Read More »

