Read OSS

ReactiveX/RxJava

7 articles

Prerequisites

01

RxJava from the Inside: Architecture Overview and How to Navigate 877 Source Files

A comprehensive map of the RxJava codebase, covering project structure, the public/internal API boundary, the 5+2 core reactive types, naming conventions, and build infrastructure.

02

The Subscribe Chain: How Every RxJava Operator Actually Works

Traces the complete subscribe flow from user call through plugin hooks to subscribeActual(), dissecting the operator decorator pattern using FlowableMap as the canonical example.

03

The Engine Room: Drain Loops, Queue Fusion, and Lock-Free Concurrency

Explores the WIP drain loop pattern, QueueFuseable operator fusion protocol, lock-free SPSC queues, and ConditionalSubscriber optimizations that power RxJava's performance.

04

Schedulers Unmasked: Thread Pools, Virtual Threads, and Time Control

Dissects RxJava's threading abstraction from Scheduler/Worker base classes through ComputationScheduler, CachedScheduler, DeferredExecutorScheduler (virtual threads), and TestScheduler.

05

Backpressure: How Flowable Keeps Fast Producers from Overwhelming Slow Consumers

Explains the request(n) protocol, BackpressureHelper's CAS arithmetic, the five BackpressureStrategy options, prefetch/limit patterns, and FlowableFlatMap's multi-source request accounting.

06

RxJava 4.x: Streamable, Virtual Threads, and the Future of Reactive Java

Covers Streamable<T> async enumerables, VirtualGenerator/VirtualEmitter for imperative virtual-thread code, sealed types, records, and the migration to java.util.concurrent.Flow.

07

Keeping 54,000 Lines Honest: RxJava's Testing and Validation Architecture

Examines TestSubscriber, TestScheduler, the 24 validator meta-tests, Reactive Streams TCK compliance, JMH benchmarks, and the CI pipeline that ties it all together.