JDK या JRE: शुरुआती को क्या चुनना चाहिए? एक बार और हमेशा के लिए समझें
\n\nयदि आप अभी Java की दुनिया में अपनी यात्रा शुरू कर रहे हैं, तो देर-सबेर आपको इस प्रश्न का सामना करना पड़ेगा: "आखिर मुझे क्या डाउनलोड करना चाहिए? JDK, JRE, या शायद सिर्फ JVM ही काफी है?" यह प्रश्न इतना लोकप्रिय है कि Stack Overflow पर इसने हजारों बार देखा गया है और दर्जनों उत्तर मिले हैं। और यह कोई संयोग नहीं है - इन संक्षिप्ताक्षरों के बीच भ्रम आपकी पहली परियोजना को शुरुआत में ही बर्बाद कर सकता है।
\n\nकल्पना करें कि Java एक रसोई है। JRE एक तैयार रेस्तरां है, जहाँ आप आकर खा सकते हैं। और JDK स्वयं रसोई है जिसमें स्टोव, चाकू और कुकबुक हैं, जहाँ आप कुछ भी पका सकते हैं। क्या आपको अंतर महसूस होता है? आइए सब कुछ स्पष्ट रूप से समझते हैं, ताकि आपको फिर कभी संदेह न हो कि क्या डाउनलोड करना है।
\n\nमुख्य बातें संक्षेप में: JVM, JRE, JDK
\n\nविवरण में जाने से पहले, आइए बुनियादी पदानुक्रम को समझें। कई शुरुआती सोचते हैं कि ये तीन अलग-अलग उत्पाद हैं। वास्तव में, यह एक मैत्रियोश्का (रूसी गुड़िया) की तरह है, जहाँ एक घटक दूसरे के अंदर स्थित है।
\n\n- \n
- JVM (Java Virtual Machine) — यह दिल है। एक वर्चुअल मशीन जो बाइट-कोड को निष्पादित करती है। यह अपने आप में बेकार है, जैसे बिना कार के इंजन। \n
- JRE (Java Runtime Environment) — यह JVM + मानक पुस्तकालयों का सेट है (उदाहरण के लिए,
java.lang,java.util)। यह तैयार Java प्रोग्राम चलाने का वातावरण है। \n - JDK (Java Development Kit) — यह JRE + डेवलपर टूल है: कंपाइलर
javac, डीबगरjdb, उपयोगिताjavadocऔर अन्य। \n
एक सरल सूत्र जो याद रखना चाहिए:
\n\nJDK = JRE + विकास उपकरण\nJRE = JVM + पुस्तकालय\n\nअब, जब आप Oracle वेबसाइट पर "Download JDK" लाइन देखते हैं, तो आप जानते हैं कि इसमें कोड चलाने और लिखने दोनों के लिए सब कुछ शामिल है।
\n\nअगर JDK है तो JRE की आवश्यकता क्यों है?
\n\nअच्छा प्रश्न है। यदि JDK में JRE शामिल है, तो "सिर्फ रनटाइम वातावरण" डाउनलोड करने की आवश्यकता क्यों है? इसका कारण आकार और लक्षित दर्शक हैं।
\n\nकल्पना करें कि आपने Java में एक सुपर गेम बनाया है और अपने दोस्त को खेलने देना चाहते हैं। आपका दोस्त प्रोग्रामर नहीं है। वह कुछ भी कंपाइल नहीं करने वाला है। उसे केवल .jar फ़ाइल चलाने के लिए एक "बॉक्स" चाहिए। उसे लगभग 300 MB का पूरा JDK देना व्यर्थ है। JRE कम जगह लेता है (लगभग 100-150 MB) और इसमें अतिरिक्त उपकरण नहीं होते जो सामान्य उपयोगकर्ता को भ्रमित करते हैं।
यही कारण है कि Java डाउनलोड करने वाली साइटों पर सामान्य उपयोगकर्ताओं को JRE की पेशकश की जाती है। और डेवलपर्स को JDK। नवीनतम संस्करणों (Java 11+) में, Oracle ने और आगे बढ़कर वास्तव में उन्हें एकीकृत कर दिया, JDK को एक "स्व-निहित" मॉड्यूल बना दिया। लेकिन अवधारणात्मक रूप से अंतर बना हुआ है।
\n\nकैसे जांचें कि आपके पास क्या स्थापित है?
\n\nसबसे आसान तरीका है टर्मिनल (कमांड लाइन) खोलना और कुछ कमांड दर्ज करना। इससे आप घंटों गूगलिंग से बच जाएंगे जब कुछ गलत होता है।
\n\nचरण 1. Java (JRE) का संस्करण जांचें:
\n\njava -version\n\nयदि JRE स्थापित है, तो आपको कुछ इस तरह दिखाई देगा:
\n\njava version "17.0.2" 2022-01-18 LTS\nJava(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)\n\nचरण 2. कंपाइलर (JDK) जांचें:
\n\njavac -version\n\nयदि आप देखते हैं:
\n\njavac 17.0.2\n\nबधाई हो! आपके पास JDK स्थापित है। यदि कमांड नहीं मिलती है, तो आपके पास या तो केवल JRE है, या Java पर्यावरण चर (PATH) में सेट नहीं है।
जीवन से एक उदाहरण: क्यों JDK के बिना आप कोड नहीं लिख सकते
\n\nआइए एक स्थिति की कल्पना करें। आपने केवल JRE स्थापित किया है (उदाहरण के लिए, Minecraft खेलने के लिए)। आप नोटपैड खोलते हैं और अपना पहला "Hello, World!" लिखते हैं:
\n\npublic class HelloWorld {\n public static void main(String[] args) {\n System.out.println("नमस्ते, दुनिया!");\n }\n}\n\nफ़ाइल को HelloWorld.java के रूप में सहेजें।