Chapter 1, Thinking Reactively, introduces you to RxJava.
Chapter 2, Observables and Subscribers, talks about the core types in RxJava, including the Observable and Observer.
Chapter 3, Basic Operators, gives you a thorough introduction to the core operators that allow you to express logic quickly and make RxJava productive.
Chapter 4, Combining Observables, teaches you how to usefully combine multiple Observable sources together in a variety of ways.
Chapter 5, Multicasting, Replaying, and Caching, consolidates streams to prevent redundant work with multiple Observers, as well as replay and cache emissions.
Chapter 6, Concurrency and Parallelization, helps you discover how RxJava flexibly and powerfully enables concurrency in your application.
Chapter 7, Switching, Throttling, Windowing, and Buffering, develops strategies to cope with rapidly-producing Observables without backpressure.
Chapter 8, Flowables and Backpressure, utilizes the Flowable to leverage backpressure and keep producers from out-pacing consumers.
Chapter 9, Transformers and Custom Operators, teaches you how to reuse reactive logic and create your own RxJava operators.
Chapter 10, Testing and Debugging, leverages effective tools to test and debug your RxJava code bases.
Chapter 11, RxJava on Android, teaches you how to apply your RxJava knowledge and RxAndroid extensions to streamline your Android apps.
Chapter 12, Using RxJava for Kotlin New, takes advantage of Kotlin’s language features to enable expressive patterns with RxJava.