Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

Java 9 में सब्सक्रिप्शन इंटरफ़ेस के लिए क्या नियम हैं?


एक सदस्यता डेटा . की मध्यस्थता के उद्देश्य से ठीक एक प्रकाशक और एक सदस्य द्वारा साझा किया जा सकता है विनिमय . यही कारण है कि सदस्यता लें () विधि बनाई गई सदस्यता वापस नहीं करती है, इसके बजाय शून्य returns लौटाती है . सदस्यता केवल सब्सक्राइबर को ऑनसब्सक्राइब () . के माध्यम से दी जाती है विधि कॉलबैक। सदस्यता इंटरफ़ेस में दो विधियाँ हैं:अनुरोध () और रद्द करें ()

सिंटैक्स

public interface Subscription {
   public void request(long n);
   public void cancel();
}

सदस्यता इंटरफ़ेस के नियम:

  • Subscription.request() और सदस्यता रद्द करें () विधियों को केवल इसके सब्सक्राइबर संदर्भ के अंदर ही बुलाया जाना चाहिए।
  • सदस्यता को सब्सक्राइबर को Subscription.request() . पर कॉल करने की अनुमति देनी चाहिए onNext() . के भीतर से समकालिक रूप से विधि या ऑनसब्सक्राइब () तरीके।
  • Subscription.request() विधि को प्रकाशक . के बीच संभावित तुल्यकालिक पुनरावर्तन पर ऊपरी सीमा लगानी चाहिए और सदस्य
  • Subscription.request() विधि को समय पर वापस लौटकर अपने कॉलर की जिम्मेदारी का सम्मान करना चाहिए।
  • सदस्यता रद्द करें () विधि को समय पर वापस लौटकर अपने कॉलर की जवाबदेही का सम्मान करना चाहिए, और थ्रेड-सुरक्षित होना चाहिए ।
  • जबकि सदस्यता रद्द नहीं की गई है, Subscription.request(long n) मेथड को संबंधित सब्सक्राइबर को दिए गए अतिरिक्त तत्वों की एक निश्चित संख्या को पंजीकृत करना होगा।
  • जबकि सदस्यता रद्द नहीं की गई है, Subscription.request(long n) विधि को onError() पर कॉल करना चाहिए IllegalArgumentException . के साथ विधि अगर तर्क <=0.
  • . है
  • जबकि सदस्यता रद्द नहीं की गई है, Subscription.request(long n) विधि समकालिक रूप से onNext() को कॉल कर सकती है इस या अन्य ग्राहकों पर विधि।
  • जबकि सदस्यता रद्द नहीं की गई है, Subscription.request(long n) विधि समकालिक रूप से पूर्ण () पर कॉल कर सकती है या त्रुटि पर() इस या अन्य ग्राहकों पर तरीके।
  • जबकि सदस्यता रद्द नहीं की गई है, Subscription.cancel() विधि को प्रकाशक से अपने सब्सक्राइबर को संकेत देना बंद करने का अनुरोध करना चाहिए। सदस्यता को तुरंत प्रभावित करने के लिए कार्रवाई की आवश्यकता नहीं हो सकती है।
  • जबकि सदस्यता रद्द नहीं की गई है, Subscription.cancel() मेथड को प्रकाशक से संबंधित सब्सक्राइबर के किसी भी संदर्भ को छोड़ने का अनुरोध करना चाहिए।
  • कॉलिंग Subscription.cancel() और सदस्यता.अनुरोध () विधियों को सामान्य रूप से वापस आना चाहिए।
  • सदस्यता 2^63-1 . तक की मांग का अनुरोध और समर्थन करने के लिए असीमित संख्या में कॉल का समर्थन करना चाहिए . यदि प्रकाशक द्वारा 2^63-1 के बराबर या उससे अधिक की मांग को प्रभावी रूप से माना जा सकता है अनबाउंड

  1. जावा 9 में @Deprecated एनोटेशन के लिए क्या सुधार हैं?

    कोई भी तत्व जिसे @Deprecated से एनोटेट किया जा सकता है यह दर्शाता है कि इस विशेष तत्व का अब निम्न कारणों से उपयोग नहीं किया जाएगा इसका उपयोग करना जोखिम भरा है और इससे त्रुटियां हो सकती हैं। भविष्य के संस्करणों में असंगत हो सकता है। भविष्य के संस्करणों में हटाया जा सकता है। एक बेहतर और अधिक कुशल समा

  1. जावा में पेंट () विधि और रिपेंट () विधि के बीच अंतर क्या हैं?

    पेंट() और रीपेंट() पेंट (): यह विधि इस घटक को पेंट करने के लिए निर्देश रखती है। जावा स्विंग में, हम पेंट कॉल के रूप में पेंट () विधि के बजाय पेंटकंपोनेंट () विधि को बदल सकते हैं पेंटबॉर्डर (), पेंटकंपोनेंट () और पेंटचिल्ड्रेन () तरीके। हम इस विधि को सीधे कॉल नहीं कर सकते इसके बजाय हम repaint() . क

  1. जावा विधि को ओवरराइड करने के नियम

    निम्नलिखित नियम हैं जिन पर हमें किसी विधि को ठीक से ओवरराइड करते समय विचार करना चाहिए - तर्क सूची बिल्कुल ओवरराइड विधि के समान होनी चाहिए। रिटर्न प्रकार वही होना चाहिए या सुपरक्लास में मूल ओवरराइड विधि में घोषित रिटर्न प्रकार का उप-प्रकार होना चाहिए। पहुंच स्तर ओवरराइड विधि के पहुंच स्तर से अधिक प्