सिस्टम टेस्ट में हाल ही में तैनाती के बाद, हमारे सर्लेट्स में से एक सामान्य से अधिक कठिन हो रहा था और हमने देखा कि स्मृति शुरू हो रही है और वेबलॉगिक अंततः मर जाएगा। मेरा इंटर्न, मुझे बहुत गर्व था, स्मृति रिसाव के स्रोत की खोज की।JAXBContext.new इंस्टेंस मेमोरी लीक
जब भी एक अनुरोध में आता है, इस लाइन कहा जाता हो जाता है:
JAXBContext jc = JAXBContext.newInstance(“ruby.oracle_servlet.schemas”);
किसी कारण से, वस्तु कचरा एकत्र हो जाता है कभी नहीं। एक बार जब हम इसे स्थिर बनाते हैं और स्थानांतरित करते हैं जहां हमने इसे प्रारंभ किया, तो हमारी स्मृति रिसाव चली गई।
हमारे डेवलपर्स में से एक ने स्टैंडअलोन जावा एप्लिकेशन में थोड़ी देर के लूप में बस उस पंक्ति को रखा और स्मृति को ऊपर और ऊपर देखा।
क्या किसी के पास कोई विचार है कि उस वस्तु को कचरा क्यों नहीं मिला है?
धन्यवाद
लिंक अद्यतन: http://jaxb.java.net/guide/Performance_and_thread_safety.html –
@ThangPham - धन्यवाद, मैं नई कड़ी आपके द्वारा दी गई साथ मेरा उत्तर नवीनीकृत किया है। –
क्या यह जावा 7 के लिए जेएक्सबी के रिलीज के साथ एक ज्ञात मुद्दा भी है? आपके द्वारा दिया गया समाधान अभी भी पकड़ लेगा, लेकिन यह जानना अच्छा होगा कि यह अभी भी सक्रिय रूप से देखने के लिए कुछ है या नहीं। –