हां, यह भ्रमित हो सकता है।
आपने इसके लिए नहीं पूछा था, लेकिन मैं यहां से शुरू करूंगा। जेवीएम जावा वर्चुअल मशीन है। यह एक ऐसा प्रोग्राम है जो संकलित जावा कोड (.class फ़ाइलों, और .jar फ़ाइलों को पढ़ सकता है जो बस .zip फ़ाइलों को एक साथ पैक किए गए .class फ़ाइलों का एक समूह है) और इसे निष्पादित करें। कई JVMs हैं, उदाहरण के लिए आपको विंडोज के लिए एक जेवीएम, लिनक्स के लिए एक, ओएसएक्स आदि के लिए एक की आवश्यकता है, लेकिन एम्बेडेड डिवाइस इत्यादि के लिए कई वैकल्पिक जेवीएम, जेवीएम भी हैं (कई असहमत होंगे और कहेंगे कि जेवीएम केवल एक है, और यह एक विनिर्देश है। हालांकि, आमतौर पर एक sysadmin सर्वर पर चल रहे वास्तविक बाइनरी को इंगित करने के लिए "JVM" कहेंगे)।
आपने निम्न के लिए भी नहीं पूछा था। जेआरई जावा रनटाइम पर्यावरण है। इसमें चलाने के लिए आवश्यक सब कुछ शामिल है जावा एप्लिकेशन, जो कि जेवीएम स्वयं, मानक लाइब्रेरी और अन्य फ़ाइलों का समूह है। मानक लाइब्रेरी स्वयं ही बहुत महत्वपूर्ण है, क्योंकि इसमें जावा अनुप्रयोगों के विकास के दौरान उपयोग की जाने वाली बहुत उपयोगी चीजें हैं। इसमें जावा में सभी सामान शामिल हैं। * पैकेज और com.sun, com.oracle संकुल में कुछ निजी सामान।
जावा के विभिन्न संस्करण (1.0, 1.1, इत्यादि के लिए सभी तरह से 1.7, जिसे जावा 7 भी कहा जाता है) में आमतौर पर जेवीएम और मानक लाइब्रेरी दोनों में सुधार होते हैं, इसलिए दोनों को आम तौर पर एक साथ चलाने की आवश्यकता होती है, और जेआरई में एक साथ पैक किया गया।
यदि आप अपने कंप्यूटर पर कोई जावा प्रोग्राम चला रहे हैं, तो आपके पास एक जेआरई स्थापित है।
जेडीके जावा डेवलपमेंट किट है। इसमें जेआरई के साथ-साथ जावा अनुप्रयोगों के विकास के लिए कई अन्य उपयोगी सामग्री शामिल हैं।इसमें संकलक स्पष्ट रूप से शामिल है (जो किसी भी अच्छे कारण के लिए जेआरई में भी निहित है, लेकिन अब आप इस तथ्य को अनदेखा कर सकते हैं), जेएआर फाइलें बनाने के लिए जार उपयोगिता, "डिकंपलिंग" क्लास फाइलों के लिए कई टूल, .jar फाइलों का निरीक्षण करें, उन्हें दोबारा दोहराएं, आदि
यह आमतौर पर मानक पुस्तकालय और मानक पुस्तकालय के सभी स्रोतों के लिए प्रलेखन भी शामिल करता है, क्योंकि वे डेवलपर्स को पढ़ने और निरीक्षण करने के लिए उपयोगी होते हैं। यदि आप जावा अनुप्रयोगों को गंभीरता से विकसित करना चाहते हैं, तो आपको जेडीके की आवश्यकता है।
जावाएसई, जावाईई, जावाएमई आदि के बारे में बात करते समय उन्हें "संस्करण" कहा जाता है।
- JavaSE: मूल रूप से, के बाद से जावा पारिस्थितिकी तंत्र बहुत बड़ा है, सूर्य अलग संस्करणों में जावा पेशकश करने का फैसला किया गया है मानक संस्करण, यह आमतौर पर ग्राहक के पक्ष सॉफ्टवेयर, सामान्य एप्लिकेशन, आदि
- के लिए बिल्कुल उपयुक्त है जावाएमई: मोबाइल संस्करण है, पुराने फोन पर छोटे गेम किए गए हैं, लेकिन यह मूल रूप से बहुत कम क्षमता प्रोसेसर के लिए उपयुक्त जावा का "छोटा" संस्करण है।
- जावाईई: "एंटरप्राइज़ संस्करण" है। इसका उपयोग सर्वर साइड स्टफ को विकसित करने के लिए किया जाता है, इसलिए इसमें सर्वर की ओर से उपयोग की जाने वाली कई लाइब्रेरी शामिल हैं।
नंबरिंग के संबंध में, उन्होंने इसे थोड़ा सा गड़बड़ कर दिया। दरअसल, जावा 1.4 के बाद उन्होंने जावा के विकास में समुदाय को शामिल करने के लिए जेसीपी बनाया, और जावा 1.5 से शुरू करने के लिए इसे आधिकारिक तौर पर "जावा 5" नाम दिया गया है, उद्योग में अधिकांश 1.5 इसे कॉल करने के बावजूद। इसके अलावा, जावा 1.2 जावा 2 था, लेकिन हर कोई मुझे जानता है कि working in Sun at that time always called it 1.2 नहीं था।
जब आप जावा डाउनलोड करते हैं (जावा 7 कहें) क्या यह जेवीएम के साथ आता है। –
हां, जेवीएम जेआरई के घटकों में से एक है। जेडीके में जेआरई भी शामिल है। तो हाँ, आपके पास भी JVM होगा। असल में "जेवीएम" (जैसा कि यहां इरादा है, जेवीएम विनिर्देश नहीं, वास्तविक बाइनरी) "java.exe" प्रोग्राम है और यह एक डीएलएल है जब आप जावा प्रोग्राम शुरू करते हैं (या जावा कमांड और संबंधित। इसलिए यदि आप हैं * निक्स या ओएसएक्स के तहत) –
बहुत बहुत धन्यवाद, यह वास्तव में बहुत समझाया गया है :) –