software - java verify




जेडीके और जेआरई के बीच क्या अंतर है? (14)

जेडीके और जेआरई के बीच क्या अंतर है?
उनकी भूमिका क्या है और मुझे एक या दूसरे का उपयोग कब करना चाहिए?


JRE

जेआरई जावा रनटाइम पर्यावरण के लिए एक संक्षिप्त शब्द है। इसका उपयोग रनटाइम पर्यावरण प्रदान करने के लिए किया जाता है। यह जेवीएम का कार्यान्वयन है। यह शारीरिक रूप से मौजूद है। इसमें लाइब्रेरीज़ + अन्य फाइलों का सेट शामिल है जो जेवीएम रनटाइम पर उपयोग करता है।

JDK

जेडीके जावा डेवलपमेंट किट के लिए एक संक्षिप्त शब्द है। यह शारीरिक रूप से मौजूद है। इसमें जेआरई + विकास उपकरण शामिल हैं।

लिंक: - http://www.javatpoint.com/difference-between-jdk-jre-and-jvm

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


आधिकारिक जावा वेबसाइट से ...

जेआरई (जावा रनटाइम पर्यावरण):

  • यह जावा वर्चुअल मशीन * का कार्यान्वयन है जो वास्तव में जावा प्रोग्राम निष्पादित करता है।
  • जावा रनटाइम पर्यावरण जावा प्रोग्राम चलाने के लिए एक प्लग-इन आवश्यक है।
  • जेआरई जेडीके से छोटा है इसलिए इसे कम डिस्क स्पेस की आवश्यकता है।
  • JRE को https://www.java.com से स्वतंत्र रूप से डाउनलोड / समर्थित किया जा सकता है
  • इसमें जावा में लिखे गए एप्लिकेशन और एप्लेट चलाने के लिए जेवीएम, कोर पुस्तकालय और अन्य अतिरिक्त घटक शामिल हैं।

जेडीके (जावा डेवलपमेंट किट)

  • यह सॉफ़्टवेयर का एक बंडल है जिसका उपयोग आप जावा आधारित अनुप्रयोगों को विकसित करने के लिए कर सकते हैं।
  • जावा अनुप्रयोगों के विकास के लिए जावा डेवलपमेंट किट की आवश्यकता है।
  • जेडीके को अधिक डिस्क स्पेस की आवश्यकता है क्योंकि इसमें विभिन्न विकास उपकरण के साथ जेआरई शामिल है।
  • जेडीके को https://www.oracle.com/technetwork/java/javase/downloads/ से स्वतंत्र रूप से डाउनलोड / समर्थित किया जा सकता है
  • इसमें जेआरई, एपीआई कक्षाओं का सेट, जावा कंपाइलर, वेबस्टार्ट और जावा एप्लेट्स और एप्लिकेशन लिखने के लिए आवश्यक अतिरिक्त फाइलें शामिल हैं।

इन शर्तों (जेवीएम, जेडीके, जेआरई) की स्पष्ट समझ उनके उपयोग और मतभेदों को समझने के लिए आवश्यक है।

जेवीएम जावा वर्चुअल मशीन (जेवीएम) एक रन-टाइम सिस्टम है जो जावा बाइटकोड निष्पादित करता है। JVM एक आभासी कंप्यूटर की तरह है जो संकलित निर्देशों का एक सेट निष्पादित कर सकता है और स्मृति स्थानों में हेरफेर कर सकता है। जब एक जावा कंपाइलर स्रोत कोड संकलित करता है, तो यह एक .class फ़ाइल में बाइटकोड नामक निर्देशों का अत्यधिक अनुकूलित सेट उत्पन्न करता है। JVM इन बाइटकोड निर्देशों का व्याख्या करता है और उन्हें निष्पादन के लिए मशीन-विशिष्ट कोड में परिवर्तित करता है।

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

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

पूरी समझ के लिए आप मेरा ब्लॉग देख सकते हैं: जेडके जेआर जेवीएम और मतभेद


ओरेकल http://docs.oracle.com/javase/7/docs/technotes/guides/ से सीधे एक साधारण प्रतिक्रिया यहां दी गई है

जावा एसई रनटाइम पर्यावरण (जेआरई)

जेआरई जावा प्रोग्रामिंग भाषा में लिपटे ऐप्पल और एप्लिकेशन चलाने के लिए आपके लिए आवश्यक लाइब्रेरी, जावा वर्चुअल मशीन और अन्य घटक प्रदान करता है। इस रनटाइम पर्यावरण को उन्हें मुक्त-मुक्त करने के लिए अनुप्रयोगों के साथ पुनर्वितरण किया जा सकता है।

जावा एसई विकास किट (जेडीके)

जेडीके में जेआरई प्लस कमांड लाइन विकास उपकरण जैसे कंपाइलर्स और डिबगर्स शामिल हैं जो एप्लेट और अनुप्रयोगों के विकास के लिए आवश्यक या उपयोगी हैं।


जेडीके और जेआरई के बीच का अंतर यह है कि जेडीके जावा के लिए सॉफ्टवेयर विकास किट है जबकि जेआरई वह जगह है जहां आप अपने कार्यक्रम चलाते हैं।


जेवीएम (जावा वर्चुअल मशीन) एक सार मशीन है। यह एक विनिर्देश है जो रनटाइम पर्यावरण प्रदान करता है जिसमें जावा बाइटकोड निष्पादित किया जा सकता है।

जेआरई जावा रनटाइम पर्यावरण के लिए एक संक्षिप्त शब्द है। इसका उपयोग रनटाइम पर्यावरण प्रदान करने के लिए किया जाता है। यह जेवीएम का कार्यान्वयन है। यह शारीरिक रूप से मौजूद है। इसमें लाइब्रेरीज़ + अन्य फाइलों का सेट शामिल है जो जेवीएम रनटाइम पर उपयोग करता है

जेडीके जावा डेवलपमेंट किट के लिए एक संक्षिप्त शब्द है। यह शारीरिक रूप से मौजूद है। इसमें जेआरई + विकास उपकरण शामिल हैं


पाब्लो बहुत सही है। यह सिर्फ अतिरिक्त जानकारी है:

" जेआरई " है, जैसा कि नाम का तात्पर्य है, एक पर्यावरण । यह मूल रूप से जावा से संबंधित फाइलों के साथ निर्देशिकाओं का एक समूह है, बुद्धि के लिए:

  • / java और (विंडोज़ के लिए) java निष्पादन योग्य कार्यक्रमों के साथ बिन, जो अनिवार्य रूप से प्रोग्राम है जो जावा वर्चुअल मशीन है;
  • / lib फ़ाइलों की एक बड़ी संख्या के साथ lib: कुछ jar एस, विन्यास फाइल, संपत्ति फाइलें, फ़ॉन्ट्स, ध्वनियां, प्रतीक ... जावा के सभी "trimmings"। सबसे महत्वपूर्ण हैं rt.jar और संभवतः इसके कुछ भाई बहन, जिनमें "जावा एपीआई" यानी जावा लाइब्रेरी कोड शामिल है।
  • कहीं भी, संभवतः ऑपरेटिंग सिस्टम द्वारा निर्दिष्ट कुछ निर्देशिका में इंस्टॉलर द्वारा गड़बड़ कर दिया गया है, कुछ .DLL (विंडोज़ के लिए) या .so (यूनिक्स / लिनक्स) समर्थन के साथ अक्सर सिस्टम-विशिष्ट देशी बाइनरी कोड के साथ हैं।

जेडीके निर्देशिकाओं का एक सेट भी है। यह जेआरई की तरह दिखता है लेकिन इसमें एक पूर्ण जेआरई के साथ एक निर्देशिका ( JRE कहा जाता है) है, और इसमें कई विकास उपकरण हैं, सबसे महत्वपूर्ण रूप से जावा कंपाइलर javac अपनी bin निर्देशिका में है।


बस:

जेवीएम वर्चुअल मशीन जावा कोड निष्पादित है

जेआरई जावा अनुप्रयोगों को चलाने के लिए आवश्यक पर्यावरण (मानक पुस्तकालय और जेवीएम) है

जेडीके डेवलपर टूल्स और दस्तावेज़ीकरण के साथ जेआरई है


यदि आप जावा प्रोग्रामर हैं तो आपको अपने सिस्टम में जेडीके की आवश्यकता होगी और इस पैकेज में जेआरई और जेवीएम भी शामिल होंगे, लेकिन यदि आप सामान्य उपयोगकर्ता हैं जो ऑनलाइन गेम खेलना पसंद करते हैं तो आपको केवल जेआरई की आवश्यकता होगी और इस पैकेज में जेडीके नहीं होगा ।

JVM

जेवीएम (जावा वर्चुअल मशीन) एक सार मशीन है। यह एक विनिर्देश है जो रनटाइम पर्यावरण प्रदान करता है जिसमें जावा बाइटकोड निष्पादित किया जा सकता है।

कई हार्डवेयर और सॉफ्टवेयर प्लेटफ़ॉर्म के लिए JVMs उपलब्ध हैं। जेवीएम, जेआरई और जेडीके मंच पर निर्भर हैं क्योंकि प्रत्येक ओएस की कॉन्फ़िगरेशन अलग-अलग है। लेकिन, जावा मंच स्वतंत्र है।

JRE

इसमें संकलित रूप में जावा एप्लिकेशन चलाने के लिए आवश्यक सब कुछ शामिल है। आपको किसी भी पुस्तकालय और अन्य सामान की आवश्यकता नहीं है। आपको जिस चीज की ज़रूरत है वह संकलित है।

जेआरई का उपयोग विकास के लिए नहीं किया जा सकता है, केवल अनुप्रयोगों को चलाने के लिए उपयोग किया जाता है।

जावा एसई विकास किट (जेडीके)

जेडीके में जेआरई प्लस कमांड लाइन विकास उपकरण जैसे कंपाइलर्स और डिबगर्स शामिल हैं जो एप्लेट और अनुप्रयोगों के विकास के लिए आवश्यक या उपयोगी हैं।

(स्रोत: GeeksForGeeks क्यू एंड ए , http://docs.oracle.com/javase/7/docs/technotes/guides/ )


यदि आप जावा प्रोग्राम चलाने के लिए चाहते हैं, लेकिन उन्हें विकसित नहीं करना चाहते हैं, तो जावा रन-टाइम पर्यावरण, या जेआरई डाउनलोड करें। यदि आप उन्हें विकसित करना चाहते हैं, तो जावा डेवलपमेंट किट, या जेडीके डाउनलोड करें

JDK

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

आवेदन, घटक और एप्लेट बनाने के लिए जेडीके को विकास पर्यावरण के रूप में दिया जाता है।

JRE

इसमें संकलित रूप में जावा एप्लिकेशन चलाने के लिए आवश्यक सब कुछ शामिल है। आपको किसी भी पुस्तकालय और अन्य सामान की आवश्यकता नहीं है। आपको जिस चीज की ज़रूरत है वह संकलित है।

जेआरई का उपयोग विकास के लिए नहीं किया जा सकता है, केवल अनुप्रयोगों को चलाने के लिए उपयोग किया जाता है।


JRE

जेआरई जावा रनटाइम पर्यावरण के लिए एक संक्षिप्त शब्द है। इसका उपयोग रनटाइम पर्यावरण प्रदान करने के लिए किया जाता है। यह जेवीएम का कार्यान्वयन है। यह शारीरिक रूप से मौजूद है। इसमें लाइब्रेरीज़ + अन्य फाइलों का सेट होता है जो जेवीएम रनटाइम पर उपयोग करता है।

सन माइक्रो सिस्टम के अलावा अन्य कंपनियों द्वारा जेवीएम का कार्यान्वयन भी सक्रिय रूप से जारी किया जाता है।

JDK

जेडीके जावा डेवलपमेंट किट के लिए एक संक्षिप्त शब्द है। यह शारीरिक रूप से मौजूद है। इसमें जेआरई + विकास उपकरण शामिल हैं।


जेआरई : जावा रनटाइम पर्यावरण। यह मूल रूप से जावा वर्चुअल मशीन है जहां आपके जावा प्रोग्राम चलते हैं। इसमें ऐप्पल निष्पादन के लिए ब्राउज़र प्लगइन्स भी शामिल हैं।

जेडीके : कार्यक्रमों को बनाने और संकलित करने के लिए जावा के लिए यह पूर्ण विशेषीकृत सॉफ्टवेयर डेवलपमेंट किट है, जिसमें जेआरई और कंपाइलर्स और टूल (जैसे जावाडॉक और जावा डीबगर) शामिल हैं।

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

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


डीबगिंग परिप्रेक्ष्य से एक अंतर:

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

डीबगिंग जानकारी क्या है? इस ब्लॉग पोस्ट से यहां एक त्वरित स्पष्टीकरण दिया गया है:

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

तो एक डीबगर कैसे जानता है कि जब आप इसे किसी फ़ंक्शन में प्रवेश पर तोड़ने के लिए कहें तो कहां रुकें? जब आप इसे चर के मान के लिए पूछते हैं तो आपको यह दिखाने के लिए कैसे प्रबंधित किया जाता है? जवाब है - डीबगिंग जानकारी।

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


जेडीके जेआरई का एक सुपरसेट है, और जेआरई में जो कुछ भी है, साथ ही एप्पल और अनुप्रयोगों के विकास के लिए आवश्यक कंपाइलर्स और डिबगर्स जैसे टूल भी शामिल हैं। जेआरई लाइब्रेरी, जावा वर्चुअल मशीन (जेवीएम), और अन्य घटकों को जावा प्रोग्रामिंग भाषा में लिपटे एप्लेट्स और एप्लिकेशन चलाने के लिए प्रदान करता है।







java