मेरे पास कोड बेस है और कुछ विधियों का कभी भी उपयोग नहीं किया जाता है। javac
कक्षा फ़ाइल से अप्रयुक्त विधियों को हटा दें?क्या javac उन तरीकों को हटा देता है जिन्हें कोड में संदर्भित नहीं किया जाता है?
उत्तर
प्रश्न: मैं जानना चाहता हूं कि मेरे पास कोड आधार है और कुछ विधियों का कभी भी उपयोग नहीं किया जाता है। क्या javac कक्षा फ़ाइल से अप्रयुक्त विधियों को हटा देता है?
ए: नहीं। कक्षा में क्या होता है, कक्षा फ़ाइल में रहता है।
... लेकिन ...
JVM भार केवल क्या स्मृति में आवश्यक है। अप्रयुक्त वर्गों पर रैम "बर्बाद" नहीं है।
नहीं, ऐसा नहीं है। इसे सत्यापित करने के लिए, आप
javap -c foo.bar.MyClass
चला सकते हैं और वहां सभी कोड देख सकते हैं। आप इसे प्रतिबिंब के माध्यम से भी एक्सेस कर सकते हैं (माना जाता है कि आप उचित अनुमतियों के साथ चल रहे हैं)।
नहीं, ऐसा नहीं है और यह नहीं कर सकता है। इस बारे में सोचें कि क्या होगा यदि संकलक ने पुस्तकालय संकलित किया था। पुस्तकालय चाहता है कि सभी विधियों उपयोगकर्ताओं के लिए निर्यात करें, लेकिन स्वयं का उपयोग नहीं किया जाएगा। और लाइब्रेरी और आपके कोड की किसी चीज़ के बीच अंतर करने के लिए जावा में कोई रास्ता नहीं है।
- 1. क्या जावा क्लास लोडर उन वर्गों को लोड नहीं करने की गारंटी देता है जिनका उपयोग नहीं किया जाता है?
- 2. उन अपवादों को कैसे ढूंढें जिन्हें "अनदेखा" किया गया था?
- 3. आंतरिक तरीकों को कैसे कार्यान्वित किया जाता है
- 4. CoreDataGeneratedAccessors - removeObject ऑब्जेक्ट को हटा देता है?
- 5. गिट चेकआउट/पुल निर्देशिका को हटा नहीं देता है?
- 6. क्या हटाएं बच्चे वास्तव में तत्व को हटा देता है?
- 7. TransitionFromView पिछले दृश्य को हटा देता है
- 8. मैं उन प्लगइन को कैसे डिबग कर सकता हूं जिन्हें चुपचाप अनदेखा किया जा रहा है?
- 9. यह कोड javac के साथ संकलित क्यों नहीं है लेकिन ग्रहण में कोई त्रुटि नहीं है?
- 10. उन प्रतिबद्ध फ़ाइलों को कैसे देखना है जिन्हें आपने अभी तक धक्का नहीं दिया है
- 11. ग्रुप बाय डुप्लिकेट को हटा नहीं देता
- 12. उन वर्गों को क्रमबद्ध कैसे करें जिन्हें क्रमबद्ध करने के लिए डिज़ाइन नहीं किया गया था?
- 13. किस स्थिति में Application_EndRequest को कॉल किया जाता है लेकिन Application_BeginRequest को कॉल नहीं किया जाता है?
- 14. क्या खाता प्रबंधक खाता हटा देता है जब सिंक एडाप्टर अधिसूचित हो जाता है?
- 15. अंतिम संपर्क हटा नहीं सकता - क्या स्थिति स्थिति कोड है?
- 16. "चार को संदर्भित नहीं किया जा सकता है" त्रुटि
- 17. स्ट्रिंग.Trim() आवश्यकता से अधिक हटा देता है?
- 18. फ्लास्क - हेडर को यूनिकोड में परिवर्तित नहीं किया जाता है?
- 19. क्या ArrayList.clear() सभी निहित objecs को भी हटा देता है?
- 20. डबल को संदर्भित नहीं किया जा सकता है?
- 21. क्या सूचीबकेट कमांड गारंटी देता है कि परिणामों को कुंजी द्वारा क्रमबद्ध किया जाता है?
- 22. सी # उन प्रकारों के सेट को सीमित क्यों करता है जिन्हें कॉन्स्ट के रूप में घोषित किया जा सकता है?
- 23. रनटाइम वास्तव में क्या करता है। क्या किया जाता है?
- 24. + = के लिए क्या उपयोग किया जाता है?
- 25. क्या सी @+ में '@' प्रयोग किया जाता है?
- 26. प्रक्रिया को निर्धारित करता है जिसके द्वारा अनुपूरक तरीकों का समाधान किया जाता है?
- 27. मैं आर वर्कस्पेस से अदृश्य वस्तुओं को कैसे हटा सकता हूं जिन्हें कचरा संग्रह द्वारा हटाया नहीं जाता है?
- 28. jQuery $ (यह) इस विशिष्ट कोड खंड में संदर्भित क्या है?
- 29. सरल, कुशल कमजोर पॉइंटर जो लक्ष्य स्मृति को हटा दिया जाता है जब NULL पर सेट किया जाता है
- 30. क्या एलआरयू उन प्रविष्टियों को हटा देगा जिनका उपयोग कुछ समय के लिए नहीं किया गया है?
यदि विधियां 'सार्वजनिक' नहीं हैं, तो मुझे उम्मीद करनी चाहिए। –
@ लार्समैन: यह 'सार्वजनिक' के लिए क्यों विशेष है? क्या ऐसा इसलिए है क्योंकि कुछ अन्य कोड उनका उपयोग कर रहे हैं? क्या आप विस्तार से समझा सकते हैं? – noMAD