ये विभिन्न जावा संस्करण किस लिए हैं?


63

मैं अपनी जावा यात्रा शुरू करने वाला हूं , (मैं पहले ही C ++ में डब्बल हो चुका हूं) लेकिन मैं जावा के सभी विभिन्न संस्करणों के बारे में वास्तव में भ्रमित हो रहा हूं:

  • JavaSE
  • JavaEE
  • JavaFX
  • आदि।

क्या कोई इन्हें विस्तार से समझा सकता है?

जवाबों:


107

जावा उचित

जावा मानक संस्करण सामान्य कंप्यूटिंग के लिए डिज़ाइन किया गया "सामान्य" संस्करण है। यह जावा के अन्य सभी प्रकारों की तरह, पूरी तरह से स्वचालित कचरा संग्रह के साथ एक आभासी मशीन पर चलने वाली एक दृढ़ता से, सांख्यिकीय रूप से टाइप की गई, बायटेकोड-संकलित, ऑब्जेक्ट-ओरिएंटेड भाषा है। इसमें भाषा की अधिकांश विशेषताएं हैं। आवेदनों के उदाहरण Minecraft या ArgoUML जैसे अनुप्रयोग होंगे। इसे स्टैंड-अलोन डेस्कटॉप एप्लिकेशन या वेब पेज में एप्लेट के रूप में एम्बेडेड एप्लिकेशन के रूप में चलाया जा सकता है।

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

जावा माइक्रो एडिशन जावा मोबाइल उपकरणों पर चलने के लिए बनाया गया है। यह ध्यान दिया जाना चाहिए कि यह एंड्रॉइड के समान नहीं है। जावा एमई को जावा एसई से बेहतर मोबाइल हार्डवेयर से निपटने के लिए बनाया गया है। मैं मोबाइल फोन के रूप में एक Pantec Ease का उपयोग करता हूं, यह Java ME चलाता है।

जावा कार्ड स्मार्ट एटीएम कार्ड की तरह वास्तव में कम अंत उपकरणों के रूप में "छोटा" है। हां, उनमें से कुछ वास्तव में उन पर जावा हैं।

JavaFX एक ऐसा फ्रेमवर्क है जो रिच इंटरनेट क्लाइंट GUI एप्लिकेशन के निर्माण के लिए बनाया गया है।

JVM भाषा परिवार

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

यह वास्तविक ओरेकल जावा स्टफ के लिए है, अब सामान के लिए जो लोग आमतौर पर जेवीएम पर उपयोग करते हैं। इन सभी भाषाओं में जावा इंटरॉप की सुविधा है और आमतौर पर अधिकांश या सभी जावा लाइब्रेरी को कॉल कर सकते हैं।

Groovy एक ऑब्जेक्ट ओरिएंटेड, गतिशील रूप से टाइप की जाने वाली भाषा है जिसमें एक अधिक सक्सेना सिंटैक्स होता है जिसे जावा के लिए एक आसान, अधिक शक्तिशाली विकल्प के रूप में बिल किया जाता है। यह जावा के लिए एक प्रकार की विस्तार भाषा के रूप में डिज़ाइन किया गया था, जिससे ग्रूवी कार्यक्रमों में जावा फ़ाइलों को लगभग खींचने और छोड़ने की अनुमति मिलती है। यह एक ढांचा है जिसे आमतौर पर वेब विकास के लिए इसे ग्रिल्स के रूप में जाना जाता है ।

स्काला एक हालिया (2003) हाइब्रिड ऑब्जेक्ट-ओरिएंटेड / फंक्शनल भाषा है जिसे अत्यधिक स्केलेबल बनाया गया है, इसलिए यह नाम है। ट्विटर स्काला का भारी उपयोगकर्ता है।

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

Jython और JRuby क्रमशः पायथन और रूबी के जावा बाइटकोड संस्करण हैं।

वहाँ JVM के लिए कई अन्य भाषाएँ हैं जैसे Jaskell (JVM के लिए Haskell) लेकिन वे अस्पष्ट / शैक्षणिक प्रयोग करते हैं।

संबंधित सामग्री

Android जावा का उपयोग करता है लेकिन Dalvik रजिस्टर-आधारित मशीन पर चलता है। डाल्विक वर्तमान में Google के खिलाफ एक मुकदमा का उद्देश्य है , इसके गोद लेने वाला। Android अनिवार्य रूप से पुस्तकालयों के एक अलग सेट के साथ जावा एसई है।

Netbeans और Eclipse जावा आईडीई के बारे में दो सबसे व्यापक रूप से बात की जाती है। एक बनाम दूसरे के बारे में सवाल पूछना बंद कर देगा और मेरा मतलब यह नहीं है कि प्रोग्रामिंग अवधारणा।

असंबंधित सामान

जावास्क्रिप्ट जावा नहीं है ... बिल्कुल नहीं। यह नामित किया गया था कि जावा की लोकप्रियता का लाभ उठाने के लिए और भ्रम कभी भी परेशान कर रहा है।

कमरे में राइनो

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

नैशॉर्न , JDK 8 के लिए Oracle (संभवतः जर्मन स्तर की दक्षता के साथ) द्वारा विकसित किया गया, जावा के भीतर एम्बेडेड जावास्क्रिप्ट के लिए नया मानक प्रतीत होता है। इसका मतलब यह होगा कि जावा के मुख्य कार्यान्वयन के लिए राइनो का उपयोग नहीं किया जाता है। राइनो परियोजना के लिए इस समय क्या मतलब है यह स्पष्ट नहीं है।


1
आपका बहुत बहुत धन्यवाद! कि मैं क्या देख रहा था :) एक और सवाल: J2SE, J2EE आदि ये SE, EE, आदि के नए संस्करण हैं?
पेट्रीक

8
हाँ, J2EE और J2SE क्रमशः जावा एंटरप्राइज संस्करण के दो संस्करण हैं जो मानक संस्करण हैं। इस नामकरण योजना का अब हालांकि पालन नहीं किया गया है। वर्तमान संस्करणों को जावा एसई 6 (या 5/7) और जावा ईई 5 (या 6) के रूप में संदर्भित किया जाता है।
6

1
स्मार्ट कार्ड के लिए जावा है? मन चकरा जाता है।
मेगन वॉकर

1
उन सब पर राज करने का एक जवाब!
उपयोगकर्ता

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