RxJava is the open source library for reactive programming that is part of the ReactiveX project. ReactiveX includes implementations in several different languages including RxJS, RxRuby, RxSwift, RxPHP, RxGroovy, and many more.
RxJava 2 was rebuilt to be compatible with the Reactive Streams specification and is preferable to RxJava 1.x since it is scheduled for end-of-life. There were many changes from version 1 to 2 that could be confusing. To avoid confusion we will focus on RxJava 2.
Getting Started
First, create a new project with sources under src/main/java/ and a “pom.xml” if using Maven or a “build.gradle” ...