रनटाइम पर क्यों कोई यह जानने में रूचि रखता है कि एक विधि बहिष्कृत है? क्या कुछ मुझे कुछ उदाहरण प्रदान कर सकते हैं?@deprecated के लिए RetentionPolicy क्यों RUNTIME है?
उत्तर
आप मानते हैं कि @ डीप्रैकेटेड संकलन चरण (आईडीई, कंपाइलर) में केवल रुचि का है, लेकिन यह इमेजिंग इंस्ट्रूमेंटेशन परिदृश्यों के लिए एक खिंचाव नहीं है जहां आपको उस जानकारी की आवश्यकता होती है।
उदाहरण के लिए, एक आईडीई आपको बहिष्कृत विधि के लिए कॉल साइटों की संख्या के बारे में सूचित कर सकता है, लेकिन आप अपने आवेदन को बहिष्कृत तरीकों में कितने समय व्यतीत करते हैं, यह निर्धारित करने के बारे में कैसे जाएंगे?
कल्पना कीजिए कि आप बहिष्कृत विधियों के साथ MyClass.class संकलित करते हैं। यदि आपकी @ डेपरेटेड एनोटेशन गुम हो गई हैं, तो जब आप उन तरीकों को किसी अन्य वर्ग से कॉल करते हैं तो आपका आईडीई या कंपाइलर आपको चेतावनी नहीं दे सका।
एक रनटाइम एक और डिजाइन समय है, उदा। एक एपीआई का उपयोग करने वाले कोड लिखते समय।
एर्म ... आप इसका क्या मतलब है? जब मैं एक एपीआई का उपयोग करता हूं तो मैं डीबगर के माध्यम से उस एपीआई तक नहीं पहुंचता। मैं उस एपीआई के लिए क्लास फाइलों का उपयोग करता हूं, लेकिन यह RetentionPolicy.Class द्वारा कवर किया गया है। – meriton
उदाहरण के लिए, अपने आईडीई के पैलेट से जीयूआई घटकों का उपयोग करते समय और उन्हें अपने फॉर्म पर छोड़कर, कोड चलाया जाता है। दोनों बिंदुओं के बारे में – JRL
अच्छा सवाल है, और मैं एक दृढ़ परिदृश्य के साथ आने के लिए खींच रहा हूं। मुझे बस इतना ही पता चला है कि मैं एक ऐसे एप्लिकेशन की कल्पना कर सकता हूं जो क्लासलोडर का उपयोग करता है जिसने बहिष्कृत कोड के उपयोग की अनुमति नहीं दी है। इसके लिए RetentionPolicy.RUNTIME
की आवश्यकता होगी।
सब मुझे मिल गया है है कि ...
युगल व्यावहारिक उपयोग जो मन में आते हैं:
Velocity के साथ आप एक कस्टम Uberspector जो किसी भी पदावनत विधि के वेग खाके से वास्तविक कॉल लॉग हो सकता है और फिर बस लॉग पढ़ने से आप देख सकते हैं कि विधि कहां उपयोग की जाती है और आप इसे जाकर संपादित कर सकते हैं।
Wicket आप एक सुरक्षा नीति जो.class
सामग्री के आधार पर किसी भी वर्ग instantiating की अनुमति नहीं देता है, तो यह एक प्रणाली है जो
@Deprecated
वर्गों के इन्स्टेन्शियशन से बचाता है बनाने के लिए संभव हो सकता है अगर आप एक व्यवस्थापक नहीं कर रहे हैं हो सकता है के साथ
।
, संकलन समय पर उन्हें जांचना अभी भी संभव होगा। निर्भरता परीक्षक को चाल चलनी चाहिए, कोई फर्क नहीं पड़ता कि मैं समझता हूं कि आपने ऊपर क्या कहा है – Ravisha
कुछ ढांचे और औजार हैं जो वस्तुओं को उनके साथ काम करने के लिए तत्काल करते हैं।
उदाहरण के लिए, कई जावाबीन यूआई संपादक बीन्स के उदाहरण बनाते हैं और उनके साथ बातचीत करते हैं क्योंकि उपयोगकर्ता यूआई को डिज़ाइन कर रहे हैं।
रनटाइम पर @Deprecated एनोटेशन उपलब्ध होने के कारण उपयोगकर्ता के लिए बहिष्कृत विधियों, घटनाओं, गुणों को ध्वजांकित करने के लिए इस तरह के टूल की अनुमति मिलती है।
- 1. Concurrency Runtime
- 2. Enum deprecated C#
- 3. Django {{MEDIA_URL}} खाली @DEPRECATED
- 4. जावा के लिए एक जीयूआई संपादक जो RUNTIME
- 5. fopen deprecated चेतावनी
- 6. जावा में @Deprecated के .NET समतुल्य क्या है?
- 7. Deprecated Hamcrest विधि का उपयोग करने का विकल्प क्या है()?
- 8. विधि पैरामीटर और स्थानीय चर पर @Deprecated मतलब क्या है?
- 9. जीसीसी प्रिंट सहायक RUNTIME त्रुटि संदेश कैसे बनाएं?
- 10. क्यों/Wp64 बहिष्कृत है?
- 11. मुझे समान निर्भरता के लिए 'रनटाइम' और 'संकलन' दोनों निर्दिष्ट क्यों करना है?
- 12. यह '(;;)' loops के लिए क्यों है?
- 13. निहित रूपांतरण के लिए क्यों आधार है?
- 14. विंडोज के लिए एक्सकोड क्यों नहीं है?
- 15. इंटीजर के लिए% d क्यों खड़ा है?
- 16. ओपनजीएल - सूचकांक के लिए GL_ELEMENT_ARRAY_BUFFER क्यों है?
- 17. हमें JQuery के लिए क्यों जाना है?
- 18. केवल इंटरफ़ेस पर @Deprecated नोटेशन का उपयोग करने के क्या फायदे हैं?
- 19. क्यों "अंतिम स्थिर पूर्णांक" एक स्विच के मामले लगातार लेकिन नहीं के रूप में इस्तेमाल किया जा सकता "अंतिम स्थिर <your enum>"
- 20. जीएचसी के प्रत्येक धागे के लिए एक ढेर क्यों है?
- 21. चक्र के लिए एक सरल से तेजी से जमा क्यों होता है?
- 22. फाइलइन्फो कन्स्ट्रक्टर के लिए हमें "कानूनी रूप से पथ क्यों नहीं है" क्यों मिल रहा है?
- 23. जेनेरिक के साथ उदाहरण क्यों काम नहीं करता है?
- 24. रूबी में nil.id वापस 4 क्यों करता है?
- 25. दस्तावेज़.cookie साइट के लिए सभी कुकी क्यों नहीं दिखाता है?
- 26. यह आरएक्स के लिए वैध स्कीमा क्यों नहीं है?
- 27. # परिभाषित करने के लिए अर्धविराम की आवश्यकता क्यों नहीं है?
- 28. जीसीसी गैर-डीबग निर्माण के लिए प्रतीक क्यों जोड़ता है?
- 29. os.path.getsize() 10gb फ़ाइल के लिए ऋणात्मक संख्या क्यों देता है?
- 30. मुझे "डेटाबेस के लिए लॉग फ़ाइल" tempdb 'पूर्ण क्यों है "
RetentionPolicy.Class इसके लिए भी पर्याप्त होगा। – Jorn