عن المشروع

RxJava هو تنفيذ لـ Java VM لمكتبة Reactive Extensions: مكتبة لتجميع البرامج غير المتزامنة والمستندة إلى الأحداث باستخدام السلاسل القابلة للملاحظة. يمدد نمط المراقب لدعم سلاسل البيانات والأحداث، مضيفًا مشغلات تسمح للمطورين بتجميع السلاسل بشكل تصريحي مع تجريد القضايا المتعلقة بالخيوط منخفضة المستوى، والمزامنة، وسلامة الخيوط، وهياكل البيانات المتزامنة. يوثق ملف README الإصدار 4.x، الموصوف بأنه تنفيذ Java أصلي لا يتطلب مكتبات وقت تشغيل طرف ثالث، مع دعم JPMS وOSGi، وتنفيذ مستند إلى java.util.concurrent.Flow، ودعم الخيوط الافتراضية، ونوع جديد Streamable مبني حول الحظر الافتراضي. كما يلاحظ استخدام مجموعة اختبار توافق Reactive Streams، واستخدام واجهة Java Cleaner للكشف عن تسرب الموارد، وأن دعم RxJava 3.x سيقل بعد إصدار 4.x. يغطي البدء إضافة الاعتماد (io.reactivex.rxjava4:rxjava) ومثال Hello World باستخدام Flowable.just(...).subscribe(...). تشمل الأنواع الأساسية Flowable (0..N مع backpressure)، Observable (0..N بدون backpressure)، Single (عنصر واحد بالضبط أو خطأ)، Completable (إكمال أو خطأ فقط)، Maybe (لا عنصر، عنصر واحد، أو خطأ)، وStreamable (الحظر الافتراضي مع backpressure الأصلي). يشرح ملف README المصطلحات مثل upstream/downstream، الانبعاثات، backpressure، وقت التجميع، وقت الاشتراك، ووقت التشغيل، مع عينات كود للحساب في الخلفية، المجدولين، التزامن داخل التدفق، المعالجة المتوازية، التدفقات الفرعية التابعة، الاستمرارات، وتحويلات الأنواع بين الأنواع التفاعلية. كما يوثق اتفاقيات تسمية المشغلات التي تُحركها كلمات Java، ومحو النوع، والغموض في الأنواع.