We’re rewarding the question askers & reputations are being recalculated! Read more.

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences

RxJava is a Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-based programs by using observable sequences.

It extends the observer pattern to support sequences of data/events and adds operators that allow you to compose sequences together declaratively while abstracting away concerns about things like low-level threading, synchronization, thread-safety and concurrent data structures.

  • Zero Dependencies
  • < 800KB Jar
  • Java 6+ & Android 2.3+
  • Java 8 lambda support
  • Polyglot (Scala, Groovy, Clojure and Kotlin)
  • Non-opinionated about source of concurrency (threads, pools, event loops, fibers, actors, etc)
  • Async or synchronous execution
  • Virtual time and schedulers for parameterized concurrency

Learn more about RxJava on the wiki.

history | excerpt history