2012-04-05 11 views
38

मुझे साक्षात्कार में पूछा गया कि प्रोग्राम को लागू करने के लिए प्रोग्रामिंग भाषा का उपयोग किया गया था। मैं डर गया: मैंने कभी इस बारे में सोचा नहीं। मुझे केवल जावा जावा कोर जावा में पता है।जावा विकसित करने के लिए कौन सी प्रोग्रामिंग भाषा का उपयोग किया जाता है?

जावा विकसित करने के लिए कौन सी प्रोग्रामिंग भाषा का उपयोग किया जाता है?

+1

जावा कोर जावा में लिखा है, यू पूछ रहे हैं क्या भाषाओं compilers में लिखे गए हैं कर रहे हैं, और करने के लिए जावा अनुवाद न करें? या आप JVM के बारे में पूछ रहे हैं? – Churk

+4

http://stackoverflow.com/q/1220914/1130032 – Ved

+2

http://stackoverflow.com/questions/410320/what-is-java-written-in – OguzOzkeroglu

उत्तर

64

एक ही सवाल पहले से ही व्यक्ति में से एक है जो सूर्य की JDK कार्यान्वयन जांच यहाँ Wiki Answers

जावा भाषा एक भाषा विनिर्देश है लिखना द्वारा उत्तर दिया विनिर्देश। यह जैसा होगा "क्या आप जर्मन में फ्रेंच लिखते हैं?"

मुझे लगता है कि प्रश्नकर्ता वास्तव में जानना चाहता था कि "क्या भाषा जेडीके विकसित है?" यही कारण है, क्या अंतर्निहित भाषा पूरे जावा वर्चुअल मशीन है और कक्षा पुस्तकालयों में विकसित

जवाब है:। वी एम के लिए, यह बदलता रहता है के बाद से वहाँ कई अलग वी एम कार्यान्वयन हैं। कक्षा पुस्तकालय, हालांकि, जावा में लिखे गए हैं, क्योंकि वे जावा वीएम का उपयोग करके चलाने के लिए लक्षित हैं। जेएनआई (जावा नेटिव इंटरफेस) का उपयोग कर कुछ पुस्तकालय आंशिक रूप से अन्य भाषाओं में लिखे गए हैं, क्योंकि वे हैं जो JVM के बाहर उपयोग किए जाने का इरादा रखते हैं।

सूर्य/ओरेकल वीएम सी ++ में लिखा गया है। बीईए/वेबलॉगिक/ओरेकल वीएम सी में लिखा गया है। आईबीएम के जे 9 (मुझे विश्वास है) सी ++ में लिखा गया है। वास्तव में जावा में वास्तव में लिखे गए वीएम के जोड़े हैं, और यहां तक ​​कि लिस्प में भी लिखा गया है। जेवीएम के विशाल बहुमत में कुछ "गर्म" क्षेत्रों को गति देने के लिए असेंबलर कोड भी शामिल है।

+4

"आप किसी भाषा में कोई भाषा नहीं लिखते हैं" यह हमेशा सत्य नहीं होता है। जीसीसी 2012 से सी ++ में लिखा गया है ([उद्धरण] (https://www.quora.com/C-programs-are-compiled-using-gcc-which-itself-is-written-in-C-so-how -कोड-फॉर-जीसीसी-इन्स-संकलित)) और स्कैला कंपाइलर स्कैला में लिखा गया है ([उद्धरण] (http://stackoverflow.com/a/19580470/1478636))। दोनों पृष्ठ इसे पूरा करने के लिए [बूटस्ट्रैपिंग] (https://en.wikipedia.org/wiki/Bootstrapping_ (compilers)) की प्रक्रिया का संदर्भ देते हैं। –

+1

आपको यह नहीं मिला। "भाषा" एक ऐसा विवरण है जिसे "लिखित" होने की आवश्यकता नहीं है। यह सिर्फ वर्णित किया जाना है। यहां तक ​​कि * यदि * इस विनिर्देश में बूटस्ट्रैपिंग के रूप में ऐसी तंत्र शामिल है (जो मुझे विश्वास है कि यह नहीं है), विवरण अभी भी एक विवरण होगा। – ospf

0

जावा सी और जावा में लिखा गया है।

-1

जावा जेवीएम - जावा वर्चुअल मशीन पर चलता है। जेवीएम का कार्यान्वयन भिन्न होता है।

+4

बिल्कुल नहीं ... कई कार्यान्वयन हैं और सबसे सामान्य एक (सूर्य/ओरेकल जेवीएम) सी ++ में लिखा गया है। – s1lence

+1

क्या आप प्रोफेसरों को गलत तरीके से सूचित करते हैं! सुधार के लिए धन्यवाद :) – RyanS

1

मूल रूप से जावा जावा में मूल एपीआई के माध्यम से सी का उपयोग कर रहा है। आप ऑब्जेक्ट क्लास जैसे जावा में किसी भी वर्ग के स्रोत कोड की जांच कर सकते हैं और जांच सकते हैं कि जब भी वह सी भाषा का उपयोग करना चाहता है तो उन्होंने जावा में देशी एपीआई कहा है।

सार्वजनिक देशी int हैशकोड(); एक आप एक भाषा में एक भाषा नहीं लिखते, यह है -

12

जावा वर्चुअल मशीन (JVM) ओरेकल जिस पर जावा कोड निष्पादित किया जाता है सी में लिखा है ++ द्वारा।

अन्य पार्टियों द्वारा अन्य वर्चुअल मशीनें मौजूद हैं जो अन्य भाषाओं में और कुछ जावा में भी लागू की गई हैं। उनमें से कुछ की सूची विकिपीडिया here पर उपलब्ध है।

यह समझने के लिए कि आपको यह जानना है कि जावा वर्चुअल मशीन bytecode निष्पादित करती है जो कि परियोजनाओं के निर्माण के दौरान जावा कंपाइलर द्वारा उत्पन्न होती है। यह बाइटकोड एक ऐसे स्तर पर है जो सभी संभावित ऑपरेटिंग सिस्टम और प्लेटफ़ॉर्म के लिए उपयुक्त है और इसलिए विशिष्ट प्लेटफ़ॉर्म के लिए वर्चुअल मशीन पर काम करेगा।(इस प्रकार जावा क्रॉस सिस्टम संगतता प्राप्त करता है)

कई जावा कंपाइलर्स भी मौजूद हैं। (वे लोग जो जावा कोड को बाइटकोड में संकलित करते हैं) सबसे सामान्य एक ओरेकल द्वारा जावैक कंपाइलर है जो मुख्य रूप से सी में लिखा जाता है। इन here के बारे में अधिक जानकारी।

6

जावा लाइब्रेरीज (java.lang, java.util etc, often referred to as the Java API) खुद को जावा में लिखा जाता है, हालांकि तरीकों native.

सूर्य JVM के रूप में चिह्नित सी में लिखा है, आपकी मशीन पर JVM रन एक platform-dependent executable है और इसलिए हो सकता था मूल रूप में लिखा कोई भी भाषा
ओरेकल जेवीएम (हॉटस्पॉट)C++ programming language में लिखा गया है।

जावा करके Oracle प्रदान की संकलक जावा ही में लिखा है ..

संबंधित मुद्दे

 संबंधित मुद्दे