RxJava is the Reactive Extensions library for the JVM. RxJava makes it easy to composing asynchronous and event-based programs using observable sequences of data in Java applications. This course takes a detailed look at the RxJava API and explores various patterns and techniques to ensure you make the most of concurrency, parallelism, and data throttling.


3 days



  • At least 6 months Java programming experience

What you'll learn

  • The Reactive Manifesto
  • RxJava architectural patterns
  • Working with observable data sources
  • Functional programming
  • Concurrency
  • Managing data throughput

Course details

Introduction to RxJava

  • Overview of Reactive Systems
  • Overview of RxJava
  • Going Further with RxJava Observables

Functional Programming

  • Essential Concepts
  • Functional Programming in Java

A Closer Look at Observables

  • Observable Data Sources
  • Defining a Custom Observer
  • Defining Custom Call-back Semantics
  • Hot and Cold Observables

Manipulating Data

  • Filtering and Fetching Items
  • Transforming Items
  • Accumulating Values

Combinators, Conditionals and Error Handling

  • Combining Observables
  • Conditional Operators
  • Handling Errors

Concurrency and Parallelism

  • Core Concepts
  • A Closer Look at Schedulers
  • Types of Schedulers Available

Managing Data Throughput

  • Understanding the Problem
  • Throttling
  • Using Buffers and Windows