java - जावा कंपाइलर और जेवीएम किस भाषा में लिखे गए हैं?




jvm javac (6)

अधिकांश ओएस, जेवीएम आईएसओ सी ++ में लिखे गए हैं। मुझे संदेह है कि एएनएसआई सी का उपयोग किया जाता है, एक पूरी तरह से अलग भाषा जो आजकल काफी पुरातन है।

जावा कंपाइलर ( javac ), कौन सी भाषाएं वर्चुअल मशीन (जेवीएम) और java स्टार्टर लिखी गई हैं?


असल में ओरेकल जेवीएम सी ++ में लिखा गया है, सी नहीं।

हॉटस्पॉट जेवीएम कोड पर एक नज़र डालें: http://openjdk.java.net/groups/hotspot/


प्रश्न का सटीक वाक्यांश थोड़ा भ्रामक है: यह "जेवीएम" या "कंपाइलर" नहीं है क्योंकि कई जेवीएम विक्रेता हैं (जेरोकिट एक है, आईबीएम दूसरा है) और वहां कई कंपाइलर्स हैं।

  • सूर्य जेवीएम C में लिखा गया C , हालांकि इस मामले की आवश्यकता नहीं है - जेवीएम आपके मशीन पर चलने वाला एक मंच-निर्भर निष्पादन योग्य है और इसलिए मूल रूप से किसी भी भाषा में लिखा जा सकता था। उदाहरण के लिए, मूल आईबीएम जेवीएम स्मॉलटाक में लिखा गया था

  • जावा लाइब्रेरीज़ ( java.lang , java.util आदि, जिन्हें अक्सर जावा एपीआई कहा जाता है) स्वयं जावा में लिखे जाते हैं, हालांकि native के रूप में चिह्नित विधियों को C या C++ में लिखा गया होगा।

  • मेरा मानना ​​है कि सूर्य द्वारा प्रदान किया गया जावा कंपाइलर जावा में भी लिखा गया है। (फिर भी, वहां कई कंपाइलर हैं)


मान लीजिए कि आप हॉटस्पॉट जेवीएम के बारे में बात कर रहे हैं, जो सूर्य द्वारा प्रदान की गई आईआईआरसी है, यह सी ++ में लिखा गया है। जावा के लिए विभिन्न वर्चुअल मशीनों के बारे में अधिक जानकारी के लिए, आप इस link देख सकते हैं। जावा , अधिकांश जावा कंपाइलर्स की तरह, जावा में लिखा गया है।


जैक्स आरवीएम , शोध उद्देश्यों के लिए व्यापक रूप से उपयोग किए जाने वाले स्वयं-होस्टिंग जेवीएम जावा में लिखे गए हैं। यह एक व्यक्ति नहीं है जो अपने डेस्कटॉप पर चलता है, लेकिन यह मेरी सूची पर है "अब चलो भाषा की सामान्य शक्ति दिखाएं।"


जावा डॉक्स से

कंपाइलर जावा में लिखा गया है और रनटाइम एएनएसआई सी में लिखा गया है







javac