Repolode
ReactiveX

ReactiveX/RxJava

Implementação das Reactive Extensions para a Java VM, que permite compor programas assíncronos e orientados a eventos com sequências observáveis.

Estrelas
48,159
Forks
7,584
Issues abertas
12
Último commit
ontem

O que é?

O RxJava estende o padrão observer a sequências de dados e eventos e oferece operadores para combinar, transformar e filtrar essas sequências de forma declarativa. Com ele, os desenvolvedores criam pipelines de processamento sem gerenciar diretamente threads de baixo nível, sincronização ou estruturas de dados concorrentes; o trabalho é transferido entre threads por meio de abstrações Scheduler, como subscribeOn e observeOn.

A biblioteca oferece vários tipos reativos para diferentes cardinalidades: Flowable para streams com backpressure, Observable para streams ilimitados sem backpressure, Single, Maybe e Completable para zero ou um resultado, e Streamable para fluxos bloqueantes baseados em Virtual Threads na versão 4. A versão 4.x é construída sobre java.util.concurrent.Flow, não exige dependências de runtime de terceiros e oferece suporte a Virtual Threads por meio de schedulers como Schedulers.virtual().

O projeto é licenciado sob Apache-2.0 e publicado no Maven Central no grupo io.reactivex.rxjava4. O wiki e o Javadoc documentam os operadores, e a versão 3.x continua disponível para o código existente.

Recursos principais

  • 01Compõe streams assíncronos de dados e eventos com operadores declarativos, como map, filter e flatMap.
  • 02Oferece Flowable com backpressure e Observable sem backpressure, além de Single, Maybe e Completable para casos com resultado único.
  • 03Transfere o trabalho entre threads com Schedulers, incluindo computation, cached, virtual e single.
  • 04É construído sobre java.util.concurrent.Flow e não exige dependências de runtime de terceiros.
  • 05Oferece suporte a Virtual Threads por meio de Schedulers.virtual() e virtualCreate().

Casos de uso

  • Executar chamadas de rede ou banco de dados em segundo plano e entregar os resultados a uma thread de UI.
  • Encadear chamadas assíncronas dependentes a serviços, em que cada etapa usa o resultado da anterior.
  • Processar streams de eventos com uso de memória controlado por backpressure.
  • Coordenar trabalho paralelo com flatMap ou ParallelFlowable e combinar os resultados.

Início rápido

  1. 1

    Adicione a dependência do RxJava 4 ao seu build (consulte o exemplo de Gradle no README).

  2. 2

    Escreva e execute o programa Hello World usando Flowable.

Antes de usar

  • Desenvolvido para Java 26; o README informa que a compatibilidade com Android depende do nível da API e do desugaring.
  • A versão 4 usa novos nomes de pacote (io.reactivex.rxjava4), portanto, migrar da 3.x exige alterações no código.
  • O suporte ao RxJava 3.x será reduzido nos próximos meses.

Tópicos

Perguntas frequentes

O que é RxJava?
Implementação das Reactive Extensions para a Java VM, que permite compor programas assíncronos e orientados a eventos com sequências observáveis. O RxJava estende o padrão observer a sequências de dados e eventos e oferece operadores para combinar, transformar e filtrar essas sequências de forma declarativa. Com ele, os desenvolvedores criam pipelines de processamento sem gerenciar diretamente threads de baixo nível, sincronização ou estruturas de dados concorrentes; o trabalho é transferido entre threads por meio de abstrações Scheduler, como subscribeOn e observeOn.
RxJava é gratuito? Qual é a licença?
RxJava é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
RxJava ainda é mantido?
Manutenção ativa. O último commit de RxJava foi em 23 de out. de 2026.
Para que posso usar RxJava?
Executar chamadas de rede ou banco de dados em segundo plano e entregar os resultados a uma thread de UI. Encadear chamadas assíncronas dependentes a serviços, em que cada etapa usa o resultado da anterior. Processar streams de eventos com uso de memória controlado por backpressure. Coordenar trabalho paralelo com flatMap ou ParallelFlowable e combinar os resultados.
Como instalar RxJava?
Adicione a dependência do RxJava 4 ao seu build (consulte o exemplo de Gradle no README). Escreva e execute o programa Hello World usando Flowable.
Onde consigo RxJava?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/ReactiveX/RxJava

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados