ひよっこゲームブログ

なにもかも初心者のひよっこがゆったりと何かする

リアクティブプログラミング2日目

ひとまずRxJavaのリファレンスを読んでみる
いつもの

package rxjava.examples;

import io.reactivex.rxjava3.core.*;

public class HelloWorld {
    public static void main(String[] args) {
        Flowable.just("Hello world").subscribe(System.out::println);
    }
}

データを突っ込んで渡して出力、以上! Rxをコードに組み込むのが目的のコードなやつ


RxJavaのおおざっぱな流れとしてはこうらしい

  • Observableからデータが流れてくる(=ストリーム)
  • Operator(=map()やfilter())を使うとストリームなデータをいじれる(=flip)
  • subscribe()で処理を開始


onNextとか色々あった気がするけどひとまず後ででいいや


んで、 Flowable.just って何よ

Flowable : ストリームを作る(=Observable)
just : オブジェクトをOperatorに渡す


FlowableとObservableの何が違うんだ?

  • io.reactivex.rxjava3.core.Flowable: 0..N flows, supporting Reactive-Streams and backpressure
  • io.reactivex.rxjava3.core.Observable: 0..N flows, no backpressure

「Reactive-Streams and backpressure」とな

ストリームとして受け取ったデータが重すぎると上手く動かなくなるので、そのための制御フロー
処理が重くなるやつはこれ使っとけって感じなのかな

調べてみたらObservableによるデータ制御には限界があるらしい

backpressureによる管理は
「処理が1回終わる毎に、次のデータを1つもらう」
というのを確実に行うためのものみたい、ふむふむ


今日はここまで、昨日は遅かったので早く寝るぞ