निम्न वर्ग परिभाषा मानते हैं:जावा क्लास थ्रेड द्वारा शुरू किया गया है जो इसे पहली बार उपयोग करता है?
public class A {
public final static String SOME_VALUE;
static {
SOME_VALUE = "some.value";
}
}
public class B {
private final String value = A.SOME_VALUE;
}
मान लें कि कक्षा ए को अभी तक लोड नहीं किया गया है, क्या होता है जब कक्षा बी की वस्तु कुछ थ्रेड टी द्वारा तत्काल होती है? कक्षा ए को लोड किया जाना चाहिए और पहले तत्काल होना चाहिए। लेकिन मेरा सवाल यह है: यदि यह थ्रेड टी के संदर्भ में किया गया है, या बल्कि किसी अन्य (विशेष) "क्लासलोडर" थ्रेड के संदर्भ में किया गया है?
मुझे जेडीके 7 से विश्वास है कि आपके पास एक ही कक्षा लोडर से एक ही समय में दो कक्षाएं हो सकती हैं। –
@ टॉम लेकिन इससे समस्याएं उत्पन्न नहीं होंगी उदा। यदि एक बराबर विधि में मैंने इसे रखा है .getClass() == obj.getClass() – saugata
प्रत्येक व्यक्तिगत वर्ग को एक बार आरंभ किया जाएगा, लेकिन एक ही कक्षा लोडर में कई अलग-अलग कक्षाएं हो सकती हैं जिन्हें एक ही समय में शुरू किया जाता है। यह वर्तमान में आपके उत्तर में नोट किए गए लॉक के कारण नहीं हो सकता है। (मुझे लगता है कि यह सही है।) –