हाय स्टैक ओवरफ्लो सदस्यों, यहां "क्लास लोडिंग समय" के वास्तविक अर्थ से संबंधित एक छोटा सा प्रश्न है।जावा में क्लास लोडिंग समय
उदाहरण के लिए निम्नलिखित कोड:
public class Sequence {
Sequence() {
System.out.print("c ");
}
{
System.out.print("y ");
}
public static void main(String[] args) {
System.out.println("Indeed");
new Sequence().go();
}
void go() {
System.out.print("g ");
}
static { System.out.println("x "); }
}
यह पहली बार बाहर प्रिंट करता है "x" जो स्थिर है, इसलिए स्थैतिक init ब्लॉक हमेशा "वर्ग लोडिंग समय" पर लोड किए गए हैं। मुझे यह मिलता है, लेकिन क्या आप जानते हैं कि यह लोडिंग समय कब होता है? मैंने सोचा था कि जब पहली वस्तु को पहली वस्तु बनाकर मुख्य विधि में बुलाया जाता है लेकिन उस स्थिति में परिणाम पहले "वास्तव में" प्रिंट करके अलग होना चाहिए था। कोई भी इस संदेह को स्पष्ट करने में मेरी मदद कर सकता है? मैंने सामान्य रूप से इस तर्क के बारे में बात करते हुए अन्य पोस्ट की जांच की है, लेकिन फिर भी मुझे लगता है कि ऊपर बताए गए कोड में, वास्तव में, "कक्षा लोडिंग समय" होता है, यह जानने के लिए बहुत स्पष्ट होगा (कम से कम मेरे लिए)।
अग्रिम धन्यवाद।
फिर से स्पष्ट होने के लिए, मुझे इस छोटे कार्यक्रम के आउटपुट पता है और मुझे पता है कि यह इस आउटपुट को क्यों देता है। हालांकि मैं जानना चाहता हूं कि वास्तव में "वर्ग लोडिंग समय" कब होता है। – Rollerball
'जब भी आपकी कक्षा JVM में लोड हो जाती है, तो मैं जानना चाहूंगा कि "वर्ग लोडिंग समय" वास्तव में कब होता है। :) – PermGenError
मुझे लगता है कि आपको क्लास नॉटफाउंड अपवाद – duffy356