This document provides an overview and examples of reactive programming in Java using RxJava 2 and Spring Reactor 3. It discusses reactive streams, the subscriber/publisher model, and demonstrates creating observables and subscribers. It shows examples of transforming, filtering, combining, and blocking reactive streams. The document aims to explain the basics of reactive programming in Java and how to use RxJava and Spring Reactor to build reactive applications.