このプロジェクトについて
RxJavaはReactive ExtensionsのJava VM実装であり、Observableシーケンスを使用して非同期およびイベント駆動のプログラムを構成するためのライブラリです。observerパターンをデータとイベントのシーケンスをサポートするように拡張し、開発者が低レベルのスレッド管理、同期、スレッドセーフティ、並行データ構造の concern を抽象化したままシーケンスを宣言的に構成できる演算子を追加しています。
READMEではバージョン4.xについて記載されており、ネイティブJava実装としてサードパーティのランタイムライブラリを必要とせず、JPMSおよびOSGi対応、java.util.concurrent.Flowベースの実装、Virtual Thread対応、バーチャルブロックイングを中心に構築された新しいStreamable型などの特徴を説明しています。またReactive Streams Test Compatibility Kitの使用、Java Cleaner APIによるリソースリーク検出、RxJava 3.xのサポートは4.xリリース後に削減されることも記載されています。
Getting startedでは依存関係の追加(io.reactivex.rxjava4:rxjava)とFlowable.just(...).subscribe(...)を使ったHello World例が紹介されています。基本型としては、バックプレッシャー付きのFlowable(0..N)、バックプレッシャーなしのObservable(0..N)、単一アイテムまたはエラーのSingle、完了またはエラーのみのCompletable、アイテムなし・1つ・エラーのMaybe、そしてネイティブバックプレッシャーを持つバーチャルブロッキングのStreamableがあります。
READMEではupstream/downstream、emissions、backpressure、assembly time、subscription time、runtimeなどの用語 explainedされ、背景計算、スケジューラ、フロー内の並行処理、並列処理、依存するサブフロー、継続、リアクティブ型間の変換などのコードサンプルが示されています。またJavaキーワードに基づく演算子の命名規則、型消去と型の曖昧さも文書化されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.