RxJava is a Reactive Extensions implementation for Java environment.

The library utilizes a combination of functional and reactive techniques that can represent an elegant approach to event-driven programming – with values that change over time and where the consumer reacts to the data as it comes in.

RxJava Basics

RxJava Advanced

RxJava Integration with Other Libraries