Java in Production 2026
Modern Java for backend services: virtual threads, GraalVM native images, streams pipelines, async composition, and an honest comparison against Go on a real workload.
Articles in this series
Java Virtual Threads: Project Loom, Pinning Hazards, and Production Migration
Java 21 virtual threads: M:N scheduling, pinning hazards, ThreadLocal pitfalls, JFR detection, and what migration really takes.
GraalVM Native Images in Production: From 5-Second Startup to 50ms
From 5-second Spring Boot cold starts to 50ms with GraalVM native images. The real gotchas, wins, and whether it's worth it.
Java Streams: Pipeline Internals, Performance Traps, and Production Patterns
Java streams: pipeline internals, where streams beat loops, parallel stream traps, and when to use collectors vs teeing.
Java CompletableFuture: Chaining Async Operations with thenCompose
thenCompose vs thenApply, running calls in parallel with allOf, timeouts, executor selection, and production error handling.
Modern Java Features: A Practical Guide from Java 8 to 21
The features that changed Java: lambdas, streams, records, sealed classes, pattern matching, and virtual threads. Java 8 to 21.
Go vs Java in 2026: An Honest Performance Comparison for Backend Services
An honest Java (Spring Boot) vs. Go (Gin) performance comparison under load tests in 2026. Comparing throughput, memory footprint, cold starts, and AWS costs.