Day 99: Virtual Threads Didn't Kill Event Loops. Here's How Each Works

I thought virtual threads replaced the need for Netty and event loops. Then I built both models from scratch and benchmarked them. Virtual threads didn’t kill event loops they made blocking I/O viable for most cases. But event loops still win for ultra-high connection counts. Here’s when each approach wins.

February 13, 2026 · 20 min

Day 98: I Thought Virtual Threads Were Just Green Threads—They're Actually Continuations on the Heap

I thought virtual threads were just green threads—turns out they’re continuations on the heap with sophisticated scheduling. Here’s what I got wrong and what actually happens under the hood.

December 23, 2025 · 9 min

Day 97: Java Concurrency Toolkit Part 3 - Advanced Patterns & Production Readiness

Part 3: Advanced Patterns & Production Readiness - Deep dive into 3 advanced tools plus debugging, monitoring, and going to production

December 22, 2025 · 26 min

Day 96: Java Concurrency Toolkit Part 2 - Core Synchronization Patterns

Part 2: Core Synchronization Patterns - Deep dive into 4 essential coordination tools with real-world patterns, performance characteristics, and common pitfalls

December 10, 2025 · 16 min

Day 95: Java Concurrency Toolkit Part 1 - Foundation & Execution Patterns

Part 1: Foundation & Execution - Deep dive into 6 essential concurrency tools with real-world patterns, performance characteristics, and common pitfalls

November 21, 2025 · 25 min