इस प्रोजेक्ट के बारे में

RxJava, Reactive Extensions का एक Java VM कार्यान्वयन है: ऑब्जर्वेबल सीक्वेंस का उपयोग करके अतुल्यकालिक और इवेंट-आधारित प्रोग्राम बनाने के लिए एक लाइब्रेरी। यह डेटा और इवेंट्स के सीक्वेंस का समर्थन करने के लिए ऑब्जर्वर पैटर्न का विस्तार करता है, ऑपरेटरों को जोड़ता है जो डेवलपर्स को निम्न-स्तरीय थ्रेडिंग, सिंक्रोनाइजेशन, थ्रेड-सेफ्टी और कंकरेंट डेटा स्ट्रक्चर संबंधी चिंताओं को अमूर्त करते हुए डिक्लेरेटिव रूप से सीक्वेंस बनाने की सुविधा देते हैं। README संस्करण 4.x का दस्तावेजीकरण करता है, जिसे एक नेटिव जावा कार्यान्वयन के रूप में वर्णित किया गया है जिसके लिए किसी तीसरे पक्ष की रनटाइम लाइब्रेरी की आवश्यकता नहीं होती है, जिसमें JPMS और OSGi समर्थन, एक java.util.concurrent.Flow-आधारित कार्यान्वयन, Virtual Thread समर्थन और वर्चुअल ब्लॉकिंग के इर्द-गिर्द निर्मित एक नया Streamable प्रकार शामिल है। यह Reactive Streams Test Compatibility Kit के उपयोग, संसाधन लीक का पता लगाने के लिए Java Cleaner API के उपयोग और यह भी बताता है कि 4.x रिलीज़ के बाद RxJava 3.x का समर्थन कम हो जाएगा। शुरुआत करने में डिपेंडेंसी (io.reactivex.rxjava4:rxjava) जोड़ना और Flowable.just(...).subscribe(...) का उपयोग करके एक 'हैलो वर्ल्ड' उदाहरण शामिल है। आधार प्रकारों में Flowable (बैकप्रेशर के साथ 0..N), Observable (बैकप्रेशर के बिना 0..N), Single (ठीक एक आइटम या त्रुटि), Completable (केवल पूर्णता या त्रुटि), Maybe (कोई आइटम नहीं, एक आइटम, या त्रुटि), और Streamable (नेटिव बैकप्रेशर के साथ वर्चुअल ब्लॉकिंग) शामिल हैं। README में अपस्ट्रीम/डाउनस्ट्रीम, एमिशन, बैकप्रेशर, असेंबली टाइम, सब्सक्रिप्शन टाइम और रनटाइम जैसी शब्दावली की व्याख्या की गई है, जिसमें बैकग्राउंड कंप्यूटेशन, शेड्यूलर, फ्लो के भीतर कंकरेंसी, पैरेलल प्रोसेसिंग, डिपेंडेंट सब-फ्लो, कंटीन्यूएशन और रिएक्टिव प्रकारों के बीच टाइप कन्वर्जन के लिए कोड सैंपल दिए गए हैं। यह जावा कीवर्ड, टाइप इरेज़र और टाइप एम्बिगुइटीज़ द्वारा संचालित ऑपरेटर नामकरण परंपराओं का भी दस्तावेजीकरण करता है।