वहाँ 10 लाख लेख और डॉक्स वहाँ पर क्या जावा classloaders हैं कैसे/* क्यों * अपने खुद के लिखने के लिए है, और ... लेकिन वे सभी कुछ बातें संभालने जा सकता है कि मैं एक साधारण नहीं मिल सकता है लगता है को उत्तर!जावा क्लास लोडर कब संलग्न करते हैं?
मैं क्लासलोडर का काम समझता हूं: बाइटकोड पढ़ने और उससे ऑब्जेक्ट बनाने के लिए। विभिन्न classloaders अलग ढंग से ऐसा करते हैं, आदि
लेकिन मेरे अपने कोड में एक वर्ग लोडर एपीआई के खिलाफ कोड के लिए कभी नहीं किया था के बाद, और कभी नहीं मेरे अपने में से एक लिखने के लिए हो रही है, मैं समझने भारी कठिनाई हो रही है जब एक ClassLoader
' वास्तव में अपने कोड को आग लगती है।
उदाहरण के लिए:
public static void main(String[] args) {
Fizz fizz = new Fizz();
fuzz.buzz();
}
यहाँ, हम एक Fizz
वस्तु है। Fizz
से पहले तत्काल किया जा सकता है, हमें अपने कैश में Fizz.class
को लात मारने और लोड करने के लिए क्लास लोडर की आवश्यकता है। यह कहां और कब हो रहा है?!? यह मेरे कोड में स्पष्ट रूप से स्पष्ट नहीं है, इसलिए यह अनिवार्य रूप से जेआरई में कहीं होना चाहिए ...?
उस प्रश्न का स्पर्शरेखा, अगर मैं अपने खुद के classloader लिखते हैं, कहते हैं, WidgetClassLoader
और यह सब अपने आवेदन की कक्षाओं लोड करने के लिए या तो, या शायद सिर्फ अपनी Fizz.class
, कैसे मैं अपने आवेदन में इस WidgetClassLoader
"टाई" ऐसा कॉन्फ़िगर करना चाहते हैं यह जानता है कि कौन सा क्लासलोडर उपयोग करना है? क्या मेरे कोड को इस क्लासलोडर को स्पष्ट रूप से कॉल करने की आवश्यकता होगी या क्या यह पहले उदाहरण की तरह निहित होगा? अग्रिम में धन्यवाद!
यह जेआरई में है, ज़ाहिर है। इसे पढ़ें, और कस्टम क्लास लोडर कॉन्फ़िगरेशन के लिए Google: http://www.javalobby.org/java/forums/t18345.html – duffymo
@duffymo - कृपया आंद्रे के उत्तर के तहत मेरी टिप्पणी देखें - मेरे पास आपके लिए एक ही सवाल है! – IAmYourFaja
मुझे अपने स्वयं के क्लास लोडर को कभी भी लिखने की ज़रूरत नहीं है। एक बार नहीं, पूरे समय में मैं जावा लिख रहा हूं। और यह 1 99 7 में 1.0 के बाद से है। आपको क्या लगता है कि आपको इसकी आवश्यकता है? – duffymo