में संसाधन लीक का पता लगाने के लिए अंतिम रूप से कार्यान्वित करने के लिए कैसे करें, मान लें कि मैंने संसाधन को साफ करने के लिए एक करीबी() विधि के साथ कुछ संसाधन वर्ग बनाया है, और मैं संसाधन को मुक्त करने के लिए अंतिम() प्रिंट करना चाहता हूं (और प्रिंट एक चेतावनी) अगर कोई करीबी() को कॉल करना भूल गया है। यह ठीक से कैसे किया जा सकता है?जावा
- क्या यह केवल मूल (जेएनआई आवंटित) संसाधनों के लिए अनुशंसित है?
- क्या होता है यदि आप किसी अन्य ऑब्जेक्ट के संदर्भ का उपयोग करते हैं जिसे अंतिम रूप दिया गया है, तो अंतिम रूप से? यदि चक्रीय निर्भरताएं हैं तो मुझे नहीं पता कि कचरा कलेक्टर आपको उन वस्तुओं तक पहुंचने से कैसे रोक सकता है जिनके अंतिमकर्ता निष्पादित किए जा सकते थे।
- संसाधन लीक का पता लगाने और/या निपटने के लिए अंतिम() को ओवरराइड करने के लिए कोई बेहतर विकल्प हैं?
- किसी भी अन्य नुकसान को अंतिम रूप देने के बारे में पता होना चाहिए?
नोट: मुझे पता है कि अंतिमकरण() का उपयोग करना आमतौर पर बुरा विचार है, और यह कहने की गारंटी नहीं है, इस पर चर्चा करने के कई अन्य प्रश्न हैं। यह प्रश्न विशेष रूप से जावा में फाइनलाइज़र को लागू करने के लिए के बारे में है, क्यों नहीं आपको (या नहीं होना चाहिए)।
मुझे आशा है कि मेरे उत्तर मदद करेंगे। अगर मुझे कुछ याद आया तो मुझे बताएं। –
अंतिम रूप से अंतिम रूप से अंतिमकृत वस्तुओं तक पहुंचने के बारे में दूसरे बिंदु को दोहराया। इसके बारे में अभी भी उत्सुक है कि इसका क्या प्रभाव होगा। – Soulman