2010-02-16 12 views
27

सच कहने के लिए, मैं इन सभी शर्तों (जेडीके/जेआरई/जावा एसडीके) पर काफी उलझन में हूं। मुझे यकीन नहीं है कि प्रत्येक व्यक्ति क्या करता है।जेडीके/जेआरई/जेवीएम/जावा एसडीके | उन सब का क्या मतलब था? कभी-कभी आप जेआरई के साथ विकसित कर सकते हैं और कभी-कभी आपको जेडीके की आवश्यकता होती है?

जब मैंने पहली बार ग्रहण में सरल जावा उदाहरण करना शुरू किया, तो मुझे पूरा यकीन है कि मेरे पास केवल जेआरई था, जो मुझे विश्वास था कि डिफ़ॉल्ट जावा इंस्टॉलर नियमित उपयोगकर्ता अपने सिस्टम पर जावा प्रोग्राम/एप्लेट चलाने में सक्षम होने के लिए उपयोग करते हैं।

हालांकि, अब कक्षा में हम Google Appengine का उपयोग कर रहे हैं, और इसके लिए जेडीके की आवश्यकता है जो मैं अनुमान लगा रहा हूं जावा एसडीके जैसा ही है। जेडीके स्थापित करने का कुछ समय बर्बाद करने के बाद मुझे मतलब था कि मुझे जावा चरम को पर्यावरण चर में जोड़ना था ताकि कमांड प्रॉम्प्ट में जावैक-वर्जन काम करने के लिए मुझे पता चल सके कि केवल जेडीके में जावा है ...

कैसे क्या मेरे शुरुआती जावा कार्यक्रम जेडीके स्थापित किए बिना काम कर रहे थे और इसलिए जावैक नहीं था? और वास्तव में मुख्य प्रश्न ... जेआरई और जेडीके के बीच क्या अंतर है, और आप प्रत्येक का उपयोग कब करते हैं?

धन्यवाद :)

+0

यह लिंक jre, jdk को समझने में काफी उपयोगी होगा: http://docs.oracle.com/javase/8/docs/ –

उत्तर

17

ग्रहण का अपना अंतर्निर्मित कंपाइलर (जिसे ecj कहा जाता है) है, जो संभवतया कारण है कि आप इसका उपयोग करने के लिए जेडीके स्थापित नहीं कर सकते हैं। यह javac का उपयोग नहीं करता है।

Google App Engine javac का उपयोग करता है जो जेडीके के साथ आता है।

+0

लेकिन जेआर स्थापित किया जाना चाहिए? – Mahi

+0

@ माही हां, आपको ग्रहण चलाने के लिए जेआरई स्थापित करने की आवश्यकता है। –

35

JRE = जावा रनटाइम एनवायरनमेंट - तुम क्या कार्यक्रमों/सॉफ्टवेयर जावा या उपयोग जावा में लिखा पुस्तकालयों की आवश्यकता है कि चलाने के लिए की जरूरत है। उदाहरण के लिए, OpenOffice जावा रनटाइम एनवायरनमेंट

की आवश्यकता है JDK/जावा एसडीके = जावा डेवलपमेंट किट/जावा सॉफ्टवेयर विकास किट - क्या आप लिखने कार्यक्रमों जावा की आवश्यकता होती है या जावा में लिखा पुस्तकालयों का उपयोग करने के लिए की जरूरत है। उदाहरण के लिए, यदि आप जावा में अपना स्वयं का वर्ड प्रोसेसिंग टूल लिखना चाहते थे।

java जेआरई के साथ आता है क्योंकि यह वीएम (वर्चुअल मशीन) लॉन्च करता है। यह class फ़ाइलों को ले सकता है जो कि जेडीके का उपयोग करके संकलित की गई फाइलें हैं।

जेडीके javac के साथ आता है क्योंकि आपको अपनी .java फ़ाइलों को .class फ़ाइलों में संकलित करने की आवश्यकता है जो जेआरई पर चल सकते हैं।

+1

क्या आप सुनिश्चित हैं कि जेआरई जावैक के साथ आता है? – malaverdiere

+0

हाहा, वह मुझे अपने एंड्रॉइड फोन के माध्यम से टाइप कर रहा था। मैं टाइपो ठीक कर दूंगा! –

+0

मेरी इच्छा है कि मैं 2 उत्तरों को सर्वोत्तम उत्तरों के रूप में वोट दे सकता हूं। आप और क्रिस के बीच आप लोगों ने इसे मेरे लिए बिल्कुल समझाया। धन्यवाद! –

2

जावा प्रोग्राम को संकलित करने के लिए जेआरई का कोई तरीका नहीं है। जावा, जावा कंपाइलर, केवल जेडीके के साथ आता है।

  • आप जो भी पाठ संपादक के साथ जावा प्रोग्राम लिख सकते हैं, आपको ऐसा करने के लिए विशेष कुछ भी नहीं चाहिए।
  • आपको जावा प्रोग्राम चलाने के लिए जेआरई की आवश्यकता है। जेआरई में जावा वर्चुअल मशीन शामिल है, जिसे पहले से संकलित जावा प्रोग्राम चलाने के लिए आवश्यक है।
  • जावा प्रोग्राम को संकलित करने के लिए आपको जेडीके की आवश्यकता है। इसलिए यदि आप जावा डेवलपर हैं, तो आप जावा वर्चुअल मशीन के अतिरिक्त संकलन करने के लिए आवश्यक टूल के साथ ही जेडीके स्थापित करना चाहेंगे।
+4

असल में, यह सही है, जब तक आप ग्रहण ग्रहण नहीं करते हैं। लेकिन यह मूल प्रश्न ग्रहण का उल्लेख है, यह गलत है। क्रिस जेस्टर-यंग का जवाब देखें। (हालांकि मुझे यह मानना ​​है कि मैंने ग्रहण के साथ कई सालों तक काम किया है, यह महसूस किए बिना कि यह जावैक का उपयोग नहीं करता है) –

+1

मुझे इसके बारे में पता नहीं था। – Cesar

3

क्या JRE और JDK और के बीच का अंतर है जब आप हर एक का उपयोग करते है?

JRE: जावा रनटाइम एनवायरनमेंट। इसका उपयोग केवल जावा प्रोग्राम चलाने के लिए किया जाता है। Chris Jester -Young का उल्लेख किया गया है, ग्रहण कंपाइलर में बनाया गया था। जावा Develpment किट, यह भी: यही कारण है कि तुम सिर्फ JRE की जरूरत (ग्रहण चलाने के लिए)

आप एक जावा प्रोग्राम जहाज तो है, केवल एक चीज ग्राहक की आवश्यकता है इस क्रम पर्यावरण

JDK है इसमें एक जेआरई भी शामिल है, लेकिन इसके अलावा कार्यक्रम विकास के लिए अन्य टूल्स हैं जैसे जावा कंपाइलर javac कई अन्य लोगों के बीच।

यदि आप जावा प्रोग्राम बनाना चाहते हैं तो आपको इसका उपयोग करना चाहिए।

1

नहीं। कभी 'कभी-कभी आप JRE के साथ विकसित कर सकते हैं'।

आप जावा डेवलपमेंट किट के साथ विकसित करते हैं। आप जावा रनटाइम पर्यावरण या इंजन या जिसे भी कहा जाता है, के साथ चलते हैं।