मैं निम्नलिखित पाठ को समझने में असमर्थ हूं ... क्या इसका मतलब यह है कि <clinit>खाली निर्माणकर्ताओं के लिए है? दो अलग-अलग संस्करण क्यों महत्वपूर्ण हैं?
https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html
2.9. Special Methodsजावा वर्चुअल मशीन के स्तर पर, प्रत्येक कंस्ट्रक्टर (.122.12) एक उदाहरण आरंभीकरण विधि के रूप में प्रकट होता है जिसमें विशेष नाम होता है
<init>। यह नाम एक संकलक द्वारा आपूर्ति की जाती है। क्योंकि नाम<init>एक मान्य पहचानकर्ता नहीं है, इसका उपयोग सीधे जावा प्रोग्रामिंग भाषा में लिखे गए प्रोग्राम में नहीं किया जा सकता है। इंस्टेंसेस आरंभीकरण के तरीकों को केवल इनवोकेशनल इंस्ट्रक्शन द्वारा जावा वर्चुअल मशीन के भीतर लगाया जा सकता है, और उन्हें केवल अनइंस्टाल्ड क्लास इंस्टेंसेस पर ही इनवाइट किया जा सकता है। एक इंस्टेंस इनिशियलाइज़ेशन विधि कंस्ट्रक्टर की एक्सेस अनुमतियों (.72.7.4) पर ले जाती है, जहाँ से इसे प्राप्त किया गया था।एक क्लास या इंटरफ़ेस में एक ही क्लास या इंटरफ़ेस इनिशियलाइज़ेशन मेथड होता है और उस तरीके को लागू करके इनिशियलाइज़ किया जाता है (.12.17.4)। किसी वर्ग या इंटरफ़ेस की प्रारंभिक विधि स्थिर है और कोई तर्क नहीं लेता है। इसका विशेष नाम है
<clinit>। यह नाम एक संकलक द्वारा आपूर्ति की जाती है। क्योंकि नाम<clinit>एक मान्य पहचानकर्ता नहीं है, इसका उपयोग सीधे जावा प्रोग्रामिंग भाषा में लिखे गए प्रोग्राम में नहीं किया जा सकता है। क्लास और इंटरफ़ेस इनिशियलाइज़ेशन के तरीकों को जावा वर्चुअल मशीन द्वारा स्पष्ट रूप से लागू किया जाता है; वे कभी भी किसी जावा वर्चुअल मशीन इनवाइटिशन से सीधे नहीं मंगवाए जाते हैं, बल्कि इनडायरेक्टली इन क्लास इनिशियलाइज़ेशन प्रोसेस के हिस्से के तौर पर ही इनवाइट किए जाते हैं।
CLखड़ा है?