Build concurrent, easy to maintain, and responsive applications in JavaAbout This Book* Explore the essential tools and operators RxJava provides, and know which situations to use them in* Delve into Observables and Subscribers, the core components of RxJava used for building scalable and performant reactive applications* Delve into the practical implementation of tools to effectively take on complex tasks such as concurrency and backpressureWho This Book Is ForThe primary audience for this book is developers with at least a fundamental mastery of Java.Some readers will likely be interested in RxJava to make programs more resilient, concurrent, and scalable.Others may be checking out reactive programming just to see what it is all about, and to verify whether it can solve any problems they may have.What you will learn* Understand how reactive programming works and the mindset to "think reactively."* Readers will have a fundamental understanding of Observables and how they work.* Understand how operators work, such as Transforming Observables, Error Handling Operators, Observable Utility Operators, Conditional and Boolean Operators, and Connectable Observable Operators.* Combine Observables and learn when to use which operator.* Leverage new operators that can cache one or more emissions for new Subscribers.* Learn about concurrency and parallelization in RxJava, and get an abstract understanding of how it works.* Knowing how backpressure works, when it should be used, and how to use it.* Expressing operators with Kotlin lambdas as well as leveraging extension functions to create your own operators.* Practical application of RxJava to Android apps.In DetailRxJava is a library for composing asynchronous and event-based programs using Observable sequences for the Java VM, which will help you build robust reactive applications.Learning RxJava addresses all the fundamentals of reactive programming to help readers write code and teach them an effective approach to solving problemsStarting with a brief introduction to reactive programming concepts, you will immerse yourself in Observables and Subscribers - the core components of RxJava. The book discusses concurrency and parallelization and how RxJava remains highly performant with no need for synchronization. You will learn about switching, throttling, windowing, and buffering to cope with high-producing Observables without backpressure. You will be able to further remove redundancy by creating reusable reactive operations. The book will teach you various ways to test and debug reactive RxJava applications. Finishing off with an exploration of RxJava apps on Android and Kotlin, this book will teach you to think reactively from the ground-up and build reactive applications.