2009-10-24 13 views

उत्तर

2

आप मानते हैं कि @ डीप्रैकेटेड संकलन चरण (आईडीई, कंपाइलर) में केवल रुचि का है, लेकिन यह इमेजिंग इंस्ट्रूमेंटेशन परिदृश्यों के लिए एक खिंचाव नहीं है जहां आपको उस जानकारी की आवश्यकता होती है।

उदाहरण के लिए, एक आईडीई आपको बहिष्कृत विधि के लिए कॉल साइटों की संख्या के बारे में सूचित कर सकता है, लेकिन आप अपने आवेदन को बहिष्कृत तरीकों में कितने समय व्यतीत करते हैं, यह निर्धारित करने के बारे में कैसे जाएंगे?

+2

RetentionPolicy.Class इसके लिए भी पर्याप्त होगा। – Jorn

1

कल्पना कीजिए कि आप बहिष्कृत विधियों के साथ MyClass.class संकलित करते हैं। यदि आपकी @ डेपरेटेड एनोटेशन गुम हो गई हैं, तो जब आप उन तरीकों को किसी अन्य वर्ग से कॉल करते हैं तो आपका आईडीई या कंपाइलर आपको चेतावनी नहीं दे सका।

+4

RetentionPolicy.Class इसके लिए पर्याप्त होगा। – meriton

+0

एमएमएम, यह सच है ... – sinuhepop

1

एक रनटाइम एक और डिजाइन समय है, उदा। एक एपीआई का उपयोग करने वाले कोड लिखते समय।

+0

एर्म ... आप इसका क्या मतलब है? जब मैं एक एपीआई का उपयोग करता हूं तो मैं डीबगर के माध्यम से उस एपीआई तक नहीं पहुंचता। मैं उस एपीआई के लिए क्लास फाइलों का उपयोग करता हूं, लेकिन यह RetentionPolicy.Class द्वारा कवर किया गया है। – meriton

+0

उदाहरण के लिए, अपने आईडीई के पैलेट से जीयूआई घटकों का उपयोग करते समय और उन्हें अपने फॉर्म पर छोड़कर, कोड चलाया जाता है। दोनों बिंदुओं के बारे में – JRL

1

अच्छा सवाल है, और मैं एक दृढ़ परिदृश्य के साथ आने के लिए खींच रहा हूं। मुझे बस इतना ही पता चला है कि मैं एक ऐसे एप्लिकेशन की कल्पना कर सकता हूं जो क्लासलोडर का उपयोग करता है जिसने बहिष्कृत कोड के उपयोग की अनुमति नहीं दी है। इसके लिए RetentionPolicy.RUNTIME की आवश्यकता होगी।

सब मुझे मिल गया है है कि ...

1

युगल व्यावहारिक उपयोग जो मन में आते हैं:

Velocity के साथ आप एक कस्टम Uberspector जो किसी भी पदावनत विधि के वेग खाके से वास्तविक कॉल लॉग हो सकता है और फिर बस लॉग पढ़ने से आप देख सकते हैं कि विधि कहां उपयोग की जाती है और आप इसे जाकर संपादित कर सकते हैं।

Wicket आप एक सुरक्षा नीति जो .class सामग्री के आधार पर किसी भी वर्ग instantiating की अनुमति नहीं देता है, तो यह एक प्रणाली है जो @Deprecated वर्गों के इन्स्टेन्शियशन से बचाता है बनाने के लिए संभव हो सकता है अगर आप एक व्यवस्थापक नहीं कर रहे हैं हो सकता है के साथ

+0

, संकलन समय पर उन्हें जांचना अभी भी संभव होगा। निर्भरता परीक्षक को चाल चलनी चाहिए, कोई फर्क नहीं पड़ता कि मैं समझता हूं कि आपने ऊपर क्या कहा है – Ravisha

4

कुछ ढांचे और औजार हैं जो वस्तुओं को उनके साथ काम करने के लिए तत्काल करते हैं।

उदाहरण के लिए, कई जावाबीन यूआई संपादक बीन्स के उदाहरण बनाते हैं और उनके साथ बातचीत करते हैं क्योंकि उपयोगकर्ता यूआई को डिज़ाइन कर रहे हैं।

रनटाइम पर @Deprecated एनोटेशन उपलब्ध होने के कारण उपयोगकर्ता के लिए बहिष्कृत विधियों, घटनाओं, गुणों को ध्वजांकित करने के लिए इस तरह के टूल की अनुमति मिलती है।

संबंधित मुद्दे