के बराबर नहीं है हमारे पास कक्षा की वस्तुओं के साथ एक कैश (Map
) है। एक और classloader initializes/रनटाइम पर भार TestClass
फिर से है, तो नीचे दिए गए कोड एक ClassCastException
फेंक दिया जाएगा:कक्षा ए कक्षा ए
TestClass obj1 = (TestClass)map.get("key"); // throws a ClassCastException
ClassCastException when casting to the same class
ठीक है, मैं इस बिंदु तक इस मुद्दे को समझते हैं।
तो, मैं पृष्ठभूमि जानकारी खोजने की कोशिश कर रहा था क्यों TestClass.class
TestClass.class
के बराबर नहीं है। मुझे लगता है कि अलग-अलग क्लासलोडर ने संदर्भ प्रकार में एक अलग आईडी सेट की है? कोई भी मुझे पृष्ठभूमि की व्याख्या करने में सक्षम है?
बेस्ट पेज मैंने पाया: http://www.objectsource.com/j2eechapters/Ch21-ClassLoaders_and_J2EE.htm