मेरे पास एक ऐसा मामला है जहां मुझे अपने आवेदन में बहुत सारे क्लास लोडर बनाने की ज़रूरत है ताकि अस्थायी रूप से कुछ कोड दिखाई दे सकें जबकि उपयोगकर्ता द्वारा दी गई स्क्रिप्ट चल रही हों। मैं इसके लिए URLClassLoader
का उपयोग कर रहा हूं और यह बहुत अच्छी तरह से काम करता है।मैं क्लासलोडर को "बंद" कैसे करूं?
जब स्क्रिप्ट समाप्त हो जाती है, तो मैं संसाधनों को मुक्त करने के लिए कक्षा लोडर को "अनलोड" या "बंद" करना चाहता हूं।
क्या कक्षा लोडर के संदर्भ को null
पर संदर्भित करना पर्याप्त है? मैं विशेष रूप से सोच रहा हूं कि क्या मैं अंततः फाइल हैंडल से बाहर हो जाऊंगा क्योंकि अतिरिक्त कक्षाएं जेएआर फाइलों में हैं।
पीएस: जावा 5 और ऊपर के साथ काम करना चाहिए। हाँ, मुझे पता है ...
इस उपयोगी हो सकता है // stackoverflow। कॉम/प्रश्न/148681/अनलोडिंग-क्लास-इन-जावा? – Thomas
आप ऑब्जेक्ट संदर्भों को हटाना चाहते हैं या कक्षा को अनलोड करना चाहते हैं। तो आप ternured या permgen – ssedano
के बारे में चिंतित हैं असल में, मैं खुले कनेक्शन के बारे में चिंतित हूं (यानी संसाधन लोड करने के लिए इनपुट इनपुट खोल दिया गया है)। –