Java SE 6 बनाम JRE 1.6 बनाम JDK 1.6 - इनका क्या मतलब है?


178

मुझे जावा के कई अलग-अलग शब्द दिखाई दे रहे हैं। मुझे JDK 1.6 स्थापित करने की आवश्यकता है। यह मेरी समझ में था कि जावा 6 == जावा 1.6। हालाँकि, जब मैं जावा एसई 6 स्थापित करता हूं, मुझे एक जेवीएम मिलता है जो संस्करण 11.0 के रूप में रिपोर्ट करता है! कौन पागलपन को हल कर सकता है?


12
वहाँ एक अच्छा जावा वैचारिक आरेख (क्लिक करने योग्य लिंक के साथ) है जो भी मदद कर सकता है।
informatik01

जवाबों:


55

जब आप "java -version" टाइप करते हैं, तो आप तीन संस्करण संख्याएँ देखते हैं - जावा संस्करण (खान पर, वह " 1.6.0_07" "), जावा SE रनटाइम एनवायरमेंट संस्करण (" बिल्ड 1.6.0_07-b06"), और हॉटस्पॉट संस्करण (मेरा, वह" build 10.0-b23, mixed mode") मुझे संदेह है कि आप जो "11.0" देख रहे हैं वह हॉटस्पॉट संस्करण है।

अपडेट: हॉटस्पॉट (या इस्तेमाल किया जा रहा है, अब वे इसका उपयोग करने के लिए पूरे वीएम का मतलब लगता है) जावा वर्चुअल मशीन में बनाया गया है। भगवान ही जानता है कि सूर्य इसे एक अलग संस्करण संख्या क्यों देता है।


7
तो, JVM 1.6 और JVM 11.0 में क्या अंतर है? हॉटस्पॉट क्या है?
जो श्नाइडर

धन्यवाद, यह भ्रम था - दो अलग-अलग संस्करण संख्याएं।
जो श्नाइडर

1
वास्तव में हॉटस्पॉट एक JIT नहीं है। JIT का अर्थ है कि निष्पादन से पहले संकलन होता है। हॉटस्पॉट प्रोग्राम के चयनित भागों को संकलित / अनुकूलित करने से पहले कोड को निष्पादित करने और उनका विश्लेषण करने के लिए अंतर्ज्ञान का उपयोग करता है।
जॉन निल्सन

173
  • JDK - जावा डेवलपमेंट किट
  • JRE - जावा रनटाइम पर्यावरण
  • जावा एसई - जावा मानक संस्करण

एसई क्षमताओं और कार्यात्मकताओं के एक सेट को परिभाषित करता है; अधिक जटिल संस्करण हैं (एंटरप्राइज़ संस्करण - ईई) और सरल (माइक्रो संस्करण - एमई - मोबाइल वातावरण के लिए)।

JDK में जावा अनुप्रयोगों को विकसित करने के लिए संकलक और अन्य उपकरण शामिल हैं; JRE नहीं करता है। इसलिए, किसी अन्य व्यक्ति द्वारा प्रदान किए गए जावा एप्लिकेशन को चलाने के लिए, आपको JRE की आवश्यकता है; जावा एप्लिकेशन विकसित करने के लिए, आपको JDK की आवश्यकता है।

संपादित : जैसा कि क्रिस मरास्टी-जॉर्ज ने एक टिप्पणी में बताया है, आप सन की जावा वेब साइट पर बहुत सारी जानकारी पा सकते हैं , और विशेष रूप से जावा एसई सेक्शन से, (दूसरा विकल्प, जावा एसई डेवलपमेंट किट (जेडडीके) 6 अपडेट 10) ।


2011-04-06 को संपादित: दुनिया बदल जाती है, और जावा अब ओरेकल द्वारा प्रबंधित किया जाता है, जिसने सूर्य खरीदा था। इस साल के अंत में, sun.comडोमेन को अंधेरा माना जाता है। नया पृष्ठ (रीडायरेक्ट पर आधारित) यह जावा पेज ओरेकल टेक नेटवर्क पर है। ( Java.com भी देखें ।)


2013-01-11 को संपादित किया गया: और दुनिया लगातार (2012-12-21 के बावजूद), और लो और निहारती रहती है, जेआरई 6 अपने समर्थन के अंत तक पहुंचने वाला है। ओरेकल का कहना है कि फरवरी 2013 के बाद जावा 6 में कोई सार्वजनिक अपडेट नहीं है।

जावा के दिए गए संस्करण के भीतर, यह उत्तर मान्य रहता है। JDK जावा डेवलपमेंट किट है, JRE जावा रनटाइम एनवायरनमेंट है, जावा एसई मानक संस्करण है, और इसी तरह। लेकिन संस्करण 6 (1.6) पुरातन हो रहा है।

2015-04-29 को संपादित: और सूरज के चारों ओर एक और जोड़े के साथ, जावा एसई 7 के लिए समर्थन के अंत का समय भी आ गया है। अप्रैल 2015 में, ओरेकल ने पुष्टि की कि यह अब जावा एसई 7. को सार्वजनिक अपडेट प्रदान नहीं कर रहा है। जावा एसई 8 के लिए सार्वजनिक अपडेट का अस्थायी अंत मार्च 2017 है, लेकिन यह अंतिम तिथि परिवर्तन के अधीन है (बाद में, पहले नहीं)।


1
तो, अगर मुझे JDK 1.6 की आवश्यकता है, तो मुझे क्या स्थापित करना चाहिए? जावा एसई 6 स्थापित करने से मुझे एक जेवीएम मिलता है जो संस्करण 11.0 के रूप में रिपोर्ट करता है!
जो श्नाइडर

1
आपको सूर्य पर जाने और JDK 1.6 या 6 को डाउनलोड करने की आवश्यकता है, जो भी उनके पास सूचीबद्ध है।
क्रिस मरास्टी-जॉर्ज

मेरा मानना ​​है कि जावा एसई 6 के साथ जो आता है वह आंतरिक संस्करण संख्या अंतर के बावजूद सही जेडीके होना चाहिए।
जोनाथन लेफ़लर

java.sun.com/javase/downloads/index.jsp दूसरा विकल्प, जावा एसई विकास किट (JDK) 6 अपडेट 10
क्रिस मैराती-जॉर्ज

1
@ स्पेसर: अक्टूबर 2008 में क्या यह सच था? इसके अलावा, JDK का सिद्धांत घटक जावा संकलक है, है ना?
जोनाथन लेफ़लर

103

यह किसी की मदद कर सकता है:

मैं विकास के लिए अपने सिस्टम पर नवीनतम जावा स्थापित कर रहा हूं, और वर्तमान में यह जावा एसई 7 है। अब, इस "पागलपन" में डुबकी लगाओ, जैसा कि आप इसे डालते हैं ...

ये सभी समान हैं (जब डेवलपर्स विकास के लिए जावा के बारे में बात कर रहे हैं):

  • जावा एसई 7
  • जावा एसई v1.7.0
  • जावा एसई विकास किट 7

Java v1.5 से शुरू:

  • v5 = v1.5।
  • v6 = v1.6।
  • v7 = v1.7।

और हम यह मान सकते हैं कि यह भविष्य के संस्करणों के लिए रहेगा।

इसके बाद, डेवलपर्स के लिए, JDK डाउनलोड करें, JRE नहीं।

JDK में JRE होगा। यदि आपको JDK और JRE की आवश्यकता है, तो JDK प्राप्त करें। दोनों को एकल JDK इंस्टॉल से इंस्टॉल किया जाएगा, जैसा कि आप नीचे देखेंगे।

जैसा कि ऊपर किसी ने उल्लेख किया है:

  • JDK = जावा डेवलपमेंट किट (डेवलपर्स को इसकी आवश्यकता है, यह आप है यदि आप जावा में कोड करते हैं)
  • JRE = जावा रनटाइम एनवायरनमेंट (उपयोगकर्ताओं को इसकी आवश्यकता है, यह आज हर कंप्यूटर उपयोगकर्ता है)
  • जावा एसई = जावा मानक संस्करण

यहां मैंने चरणबद्ध लिंक का अनुसरण किया है (एक कदम आगे बढ़ता है, यह सब एक डाउनलोड के लिए है) जावा को विकास के लिए डाउनलोड करने के लिए (JDK):

  1. "जावा एसई डाउनलोड" पर जाएं : http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. "JDK डाउनलोड" पर क्लिक करें और "Java SE विकास किट 7 डाउनलोड" पर जाएँ: http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html (ध्यान दें) चरण # 1 से लिंक का अनुसरण करने से आपको एक अलग लिंक पर ले जाया जाएगा क्योंकि JDK 1.7 अपडेट, बाद के संस्करण, अब बाहर हैं)
  3. समझौता स्वीकार करें :)
  4. "Java SE डेवलपमेंट किट 7 (विंडोज x64)" पर क्लिक करें : http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe (मेरे 64-बिट विंडोज 7 के लिए) प्रणाली)
  5. अब आप डाउनलोड कर रहे हैं (उम्मीद है कि नवीनतम) आपके सिस्टम के लिए JDK! :)

ध्यान रखें कि उपरोक्त लिंक केवल संदर्भ उद्देश्यों के लिए हैं, आपको JDK को डाउनलोड करने के लिए क्या कदम उठाना है, इसकी चरण विधि को दिखाने के लिए।

और डिफ़ॉल्ट सेटिंग्स के साथ स्थापित करें:

  • "C: \ Program Files \ Java \ jdk1.7.0 \" (JDK)
  • "C: \ Program Files \ Java \ jre7 \" (JRE) <--- इसने एक नया इंस्टॉल फ़ोल्डर क्यों पूछा? यह JRE है!

ऊपर से याद रखें कि JDK में JRE होता है, जो समझ में आता है कि क्या आप जानते हैं कि वे दोनों क्या हैं। फिर से, ऊपर देखें।

अपने स्थापित करने के बाद, इन दोनों फ़ोल्डरों को देखने के लिए "C: \ Program Files \ Java" की जाँच करें। अब आप जानते हैं कि वे क्या हैं और क्यों हैं।

मुझे पता है कि मैंने इसे newbies के लिए लिखा था, लेकिन मुझे पूरी तरह से चीजों को जानने में मज़ा आता है, इसलिए मुझे उम्मीद है कि इससे मदद मिलेगी।


8
इस उत्तर को टक्कर देने की आवश्यकता है :)
fchen

मुझे हाल ही में अन्य इंस्टॉलर में से एक को चलाने के लिए एक jre स्थापित करना पड़ा और फिर काम करने के लिए अन्य इंस्टॉलरों में से एक को प्राप्त करने के लिए 32 बिट संस्करण स्थापित करना पड़ा। संस्करण है कि मैं के अंत में उपयोग कर रहा हूँ Glassfish 4 है जो अभी भी javax.persistence प्रदान करने के लिए प्रतीत नहीं होता है। यह तब निकला जब मुझे मावेन की आवश्यकता थी, जिसे आपने अनज़िप किया और फिर कुछ पर्यावरण चर निर्धारित किए। क्या झंझट है!
जोनिरा

मुझे लगता है कि जावा एसई और जावा एसडीके एक ही पैकेज हैं।
गैलमॉक

20

जावा संस्करणों का एक संक्षिप्त और शायद गलत इतिहास

  • जावा एक प्लेटफॉर्म है। इसमें दो उत्पाद शामिल हैं - सॉफ़्टवेयर डेवलपमेंट किट, और रनटाइम वातावरण।

  • जब जावा को पहली बार जारी किया गया था, तो यह जाहिर तौर पर सिर्फ जावा कहलाता था । यदि आप एक डेवलपर थे, तो आपको संस्करण भी पता था, जो सामान्य "1.0" और बाद में "1.1" था। प्लेटफ़ॉर्म का हिस्सा रहे दो उत्पादों को भी नाम दिया गया था:

    • JDK - "जावा डेवलपमेंट किट"
    • JRE - "जावा रनटाइम एनवायरनमेंट"
  • जाहिरा तौर पर संस्करण 1.2 में परिवर्तन इतना महत्वपूर्ण है कि उन्होंने प्लेटफ़ॉर्म को जावा 2 के रूप में कॉल करना शुरू कर दिया ।

    • मंच के डिफ़ॉल्ट "वितरण" को अपने भाई-बहनों के साथ विपरीत करने के लिए "मानक" दिया गया था। तो आपके पास तीन प्लेटफार्म थे:

      • "जावा 2 मानक संस्करण (J2SE)"
      • "जावा 2 एंटरप्राइज एडिशन (J2EE)"
      • "जावा 2 मोबाइल एडिशन (J2ME)"
    • JDK को आधिकारिक तौर पर "जावा 2 सॉफ्टवेयर डेवलपमेंट किट" का नाम दिया गया था।

  • जब संस्करण 1.5 बाहर आया, तो सूट ने फैसला किया कि उन्हें उत्पाद को "रीब्रांड" करने की आवश्यकता है। इसलिए जावा प्लेटफॉर्म को दो संस्करण मिले - उत्पाद संस्करण "5" और डेवलपर संस्करण "1.5" (हां, नियम का स्पष्ट रूप से उल्लेख किया गया है - "ड्रॉप '1.')। हालांकि," 2 "को बरकरार रखा गया था। नाम। अब मंच को आधिकारिक तौर पर "जावा 2 प्लेटफॉर्म मानक संस्करण 5.0 (J2SE 5.0)" कहा जाता है

    • सूट ने यह भी महसूस किया कि विकास समुदाय जेडीके के नाम बदलने से नहीं चुन रहा है। लेकिन वे अपने परिवर्तन को वापस करने के बजाय, केवल "2" को व्यक्तिगत उत्पादों के नाम से छोड़ने का निर्णय लेते हैं, जो अब "J2SE डेवलपमेंट किट 5.0 (JDK 5.0)" और "J2SE रनटाइम एनवायरमेंट 5.0 (JD 5.0)" हो सकते हैं
  • जब संस्करण 1.6 सामने आया, तो किसी ने महसूस किया कि नाम में दो नंबर होना अजीब था। इसलिए वे 2 (और ".0" प्रत्यय) को पूरी तरह से छोड़ने का फैसला करते हैं, और हम "जावा एसई डेवलपमेंट किट 6 (जेडडीके 6)" "जावा प्लेटफॉर्म, स्टैंडर्ड एडिशन 6 (जावा एसई 6)" के साथ समाप्त होते हैं। और "जावा एसई रनटाइम एनवायरनमेंट 6 (जेआरई 6)"

  • संस्करण 1.7 ने कुछ भी बेवकूफी नहीं की। अगर मुझे अनुमान लगाना था, तो अगला बड़ा बदलाव "एसई" को छोड़ देगा, ताकि चक्र पूरा हो जाए और जेडीके को फिर से "जावा डेवलपमेंट किट" कहा जाए।

टिप्पणियाँ

  • सादगी के लिए, ट्रेडमार्क संकेतों का एक गुच्छा छोड़ा गया था। तो जावा ™, JDK ™ और JRE ™ मान लें।

  • लगता है तो नेस्टेड सूची प्रस्तुत करने में समस्या है।

संदर्भ

उपसंहार

बस "1." गिराएं द्वारा मुद्रित संस्करण से javac -versionऔर java -versionऔर आप अच्छा जाने के लिए।


3
पवित्र गाय। मुझे लगा कि केवल Microsoft के पास बेघर लोगों के उत्पाद नाम हैं।
स्टैब्लडॉग २

2
यह पागलपन है। मैं हर बार उन्हें स्पष्ट रूप से देखने के लिए बिना उन्हें समझने में सक्षम नहीं था।
प्रीत संघ

4

जावा 5 की रिलीज के साथ, उत्पाद संस्करण डेवलपर संस्करण से अलग बनाया गया था जैसा कि यहां वर्णित है


3

जावा एसई रनटाइम अंतिम उपयोगकर्ता के लिए है, इसलिए आपको जावा जेआरई संस्करण की आवश्यकता है, जावा का पहला संस्करण 1 था, फिर 1.1 - 1.2 - 1.3 - 1.3 - 1.4 - 1.5 - 1.6 आदि और आमतौर पर प्रत्येक संस्करण का नाम संस्करण होता है इसलिए JRE 6 का अर्थ है जावा jre 1.6, वैसे भी अद्यतन संस्करण है, उदाहरण के लिए 1.6 अद्यतन 45, जिसे java jre 6u45 नाम दिया गया है।

मुझे जो पता है, उन्होंने परिपक्वता, स्थिरता, स्केलेबिलिटी, सुरक्षा और अधिक के स्तर को बेहतर ढंग से प्रतिबिंबित करने के लिए 1.6 का उपयोग करने के बजाय नंबर 6 का उपयोग करना पसंद किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.