2011-11-17 9 views
8

हम जानते हैं कि जावा में कई बहिष्कृत आइटम हैं।जावा में आइटम्स को हटा दिया जाएगा

क्या उन्हें हटा दिया जाएगा? क्या कोई बहिष्कृत आइटम है जावा से हटा दिया गया है?

+1

एपीआई दस्तावेज़ ने स्पष्ट रूप से कहा कि कौन सी विधियों को बहिष्कृत किया गया है। कंपाइलर भी चेतावनियां उत्पन्न करेगा। – Raptor

+1

शायद जल्द ही नहीं, कम समय में नहीं। 1.3 से बहिष्कृत कक्षाएं और विधियां अभी भी काम कर रही हैं, संकलक केवल एक चीज चेतावनी फेंक रहा है। http://download.oracle.com/javase/1.4.2/docs/api/deprecated-list.html – Mob

+0

संभावित डुप्लिकेट [जब एपीआई विधियों को "बहिष्कृत" चिह्नित किया जाता है तो वास्तव में दूर जाने जा रहे हैं?] (http: // stackoverflow.com/questions/314540/when-are-api-methods-marked-deprecated-actually-going-to-go-away) –

उत्तर

2

क्या उन्हें हटा दिया जाएगा?

जब जावा हमेशा पिछड़ा compability बनाए रखने के बारे में रहा है, लेकिन ऐसा हो सकता है। मैं एक चेतावनी के रूप में बहिष्कार देखता हूं कि एपीआई या तो अविश्वसनीय है या किसी भी तरह से गंभीर रूप से त्रुटिपूर्ण है। (Thread इनमें से कई हैं)।

क्या अतीत में किसी भी बहिष्कृत वस्तुओं को जावा से हटा दिया गया है?

AFAIC हटाया नहीं लेकिन Thread.destroy() से लागू नहीं किया है, क्योंकि यह कई अन्य थ्रेड तरीकों के साथ स्वाभाविक रूप से असुरक्षित था।

2

यह प्रश्न elsewhere से पूछा गया है।

काफी स्पष्ट रूप से, जावा टीम आमतौर पर क्या करती है, विधि को बहिष्कृत करना और इसके कार्यान्वयन को इसके बजाय सुझाए गए तरीके से हटा देना है। बहिष्कृत विधि सिर्फ एक अनुपूरक विधि है।

0

प्रलेखन के अनुसार here.

आप देख सकते हैं यह कहना है कि

एक कार्यक्रम तत्व एनोटेट @Deprecated, एक है कि प्रोग्रामर का उपयोग करने से हतोत्साहित किया जाता है आम तौर पर क्योंकि यह खतरनाक है, या एक बेहतर है क्योंकि वैकल्पिक मौजूद है।

तो एक बहिष्कृत विधि या कक्षा मूल रूप से एक पुरानी विधि या कक्षा है जिसे उपयोग करने से हतोत्साहित किया जाता है क्योंकि उस क्रिया को करने के लिए नए और अधिक तार्किक तरीके हैं।

क्या इन विधियों को कभी हटाया जाएगा?

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

बहिष्कृत एपीआई इंटरफेस हैं जो केवल पिछड़ा संगतता के लिए समर्थित हैं। जब भी कमांड-लाइन विकल्प का उपयोग नहीं किया जाता है, तब तक जावैक कंपाइलर एक चेतावनी संदेश उत्पन्न करता है जब तक कि इनमें से कोई भी उपयोग नहीं किया जाता है। यह अनुशंसा की जाती है कि बहिष्कृत एपीआई के उपयोग को खत्म करने के लिए कार्यक्रमों को संशोधित किया जाए, हालांकि इस तरह के एपीआई को हटाने की कोई मौजूदा योजना नहीं है - जेवीएमडीआई और जेवीएमपीआई के अपवाद के साथ - पूरी तरह से सिस्टम से।

क्या कोई बहिष्कृत आइटम हटा दिया गया है?

जावा में। * कक्षा, नहीं। जावैक्स में कुछ बदलाव हुए हैं।* वर्ग लेकिन नियमित जावा में कभी भी बहिष्कृत विधि या वर्ग को हटा दिया नहीं गया है।