Java
-

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

Flexible Constructor Bodies: Validating Before super()
Here’s a small confession. For years I wrote constructors that did their validation in the wrong place, and I knew…
Read More » -

Structured Concurrency: Why JEP 505 Changes How We Think About Cancellation, Not Just Syntax
A request comes in. Your service forks two calls, one for the user and one for their orders. The user…
Read More » -

Gson Deserialization and the InaccessibleObjectException
Gson is a popular Java library for converting JSON into Java objects and Java objects into JSON. While Gson works…
Read More » -

What’s New in Jackson 3?
Jackson 3 is a major release of the Jackson JSON processing library. Unlike a typical minor or patch upgrade, Jackson…
Read More » -

Getting Started with Solon
Solon is a lightweight Java application framework designed for building web applications, RESTful APIs, and other backend services. It focuses…
Read More » -

Beyond the Loop: How APL’s Ghost Still Drives Modern NumPy
Take a look at a typical piece of data science code today. You drop a massive matrix into a NumPy…
Read More »



