প্রকল্প সম্পর্কে

RxJava হলো Reactive Extensions-এর একটি Java VM বাস্তবায়ন: যা observable sequences ব্যবহার করে asynchronous ও event-based প্রোগ্রামগুলিকে সংযুক্ত করার একটি লাইব্রেরি। এটি observer pattern-কে ডেটা ও ইভেন্টের sequences সমর্থন করতে বৃদ্ধি করে, উন্মুখ অপারেটর যোগ করে যা ডেভেলপারদের sequences宣言ভাবে compose করতে দেয় এবং কম-স্তরের থ্রেডিং, synchronization, thread-safety ও concurrent data structure বিষয়াদি abstract করে দেয়। README-তে version 4.x সম্পর্কে বর্ণনা করা হয়েছে, যা one native Java implementation হিসেবে পরিচিত যা কোনো third-party runtime library-এর উপর নির্ভর করে না, JPMS ও OSGi সমর্থনসহ, java.util.concurrent.Flow-ভিত্তিক বাস্তবায়ন, Virtual Thread সমর্থন, এবং virtual blocking-এর চারপাশে নির্মিত নতুন Streamable type অন্তর্ভুক্ত। এটি Reactive Streams Test Compatibility Kit ব্যবহার, resource leak detection-এর জন্য Java Cleaner API ব্যবহার, এবং RxJava 3.x সাপোর্ট 4.x রিলিজের পর কমানো হবে তাও উল্লেখ করেছে। প্রారંભ করা অংশ dependency যোগ করা (io.reactivex.rxjava4:rxjava) এবং Flowable.just(...).subscribe(...) ব্যবহার করে Hello World উদাহরণ কভার করে। Base types-এর মধ্যে রয়েছে Flowable (0..N backpressure সহ), Observable (0..N backpressure ছাড়া), Single (ঠিক একটি item অথবা error), Completable (কম্প্লিশন অথবা error মাত্র), Maybe (কোনো item নেই, একটি item, অথবা error), এবং Streamable (virtual blocking সহ native backpressure)। README upstream/downstream, emissions, backpressure, assembly time, subscription time ও runtime-এর মতো terminologies ব্যাখ্যা করে, background computation, schedulers, flow-এর মধ্যে concurrency, parallel processing, dependent sub-flows, continuations, এবং reactive type-গুলোর মধ্যে type conversions-এর জন্য code samples সরবরাহ করে। এটি Java keywords দ্বারা চালিত operator naming conventions, type erasure ও type ambiguities-ও documents করে।