जावा आर्किटेक्चर के घटक क्या हैं?



जावा आर्किटेक्चर संकलन और व्याख्या की प्रक्रिया को जोड़ती है। इस लेख में, मैं आपको जावा आर्किटेक्चर के विभिन्न घटकों के बारे में बताऊंगा

जावा आर्किटेक्चर संकलन और व्याख्या की प्रक्रिया को जोड़ती है। यह विभिन्न प्रक्रियाओं को शामिल करते हुए बताते हैं । इससे पहले कि मैं इस विषय के साथ शुरू करूँ, मैं आपको इस लेख के एजेंडे से परिचित कराऊँ।

नीचे दिए गए बिंदु हमारी चर्चा के विषय होंगे:





आइए हम समझते हैं कि जावा आर्किटेक्चर वास्तव में क्या है?



जावा आर्किटेक्चर क्या है?

यहाँ, मैं आपको सरल चरणों में जावा वास्तुकला की व्याख्या करूँगा।

  • जावा में, संकलन और व्याख्या की एक प्रक्रिया है।
  • में लिखा कोड , बाइट कोड में परिवर्तित हो जाता है जो कि जावा कंपाइलर द्वारा किया जाता है।
  • बाइट कोड, फिर JVM द्वारा मशीन कोड में परिवर्तित किए जाते हैं।
  • मशीन कोड को सीधे मशीन द्वारा निष्पादित किया जाता है।

यह आरेख एक जावा कोड, या ठीक, जावा आर्किटेक्चर के आंतरिक कामकाज को दिखाता है!



जेवीएम - जावा आर्किटेक्चर - एडुर्काअब, हम जावा वास्तुकला में थोड़ा गहरा खुदाई करते हैं और विभिन्न के बारे में बात करते हैं ।

जावा आर्किटेक्चर के घटक

जावा भाषा के तीन मुख्य घटक हैं: JVM, JRE, और JDK

जावा वर्चुअल मशीन, जावा रनटाइम एनवायरनमेंट और जावा डेवलपमेंट किट क्रमशः।

मुझे उनमें से प्रत्येक को एक-एक करके विस्तृत करना है:

वस्तुओं का उदाहरण जावा उदाहरण

जावा वर्चुअल मशीन:

कभी काम के बारे में सुना है? (एक बार लिखो, कहीं भी दौड़ो)। खैर, जावा अनुप्रयोगों को किसी भी प्लेटफ़ॉर्म पर कोड चलाने की उनकी क्षमता के कारण WORA कहा जाता है। यह केवल जेवीएम के कारण किया जाता है। जेवीएम एक जावा प्लेटफ़ॉर्म घटक है जो जावा कार्यक्रमों को निष्पादित करने के लिए एक वातावरण प्रदान करता है। JVM मशीन कोड में बाईटेकोड की व्याख्या करता है जिसे मशीन में निष्पादित किया जाता है जिसमें जावा प्रोग्राम चलता है।

इसलिए, संक्षेप में, जेवीएम निम्नलिखित कार्य करता है:

  • कोड लोड करता है
  • कोड को सत्यापित करता है
  • कोड निष्पादित करता है
  • रनटाइम वातावरण प्रदान करता है

अब, मैं आपको JVM वास्तुकला दिखाता हूं। यहाँ जाता हैं!

स्पष्टीकरण:

क्लास लोडर : क्लास लोडर JVM का एक सबसिस्टम है। इसका उपयोग वर्ग फ़ाइलों को लोड करने के लिए किया जाता है। जब भी हम जावा प्रोग्राम चलाते हैं, क्लास लोडर इसे पहले लोड करता है।

कक्षा विधि क्षेत्र : यह जेवीएम में डेटा क्षेत्र में से एक है, जिसमें कक्षा डेटा संग्रहीत किया जाएगा। इस क्षेत्र में स्टेटिक वैरिएबल्स, स्टेटिक ब्लॉक्स, स्टेटिक मेथड्स, इंस्टेंस मेथड्स को स्टोर किया जाता है।

ढेर : JVM शुरू होने पर एक ढेर बनाया जाता है। आवेदन के चलते यह आकार में वृद्धि या कमी कर सकता है।

ढेर : जेवीएम स्टैक को थ्रेड स्टैक के रूप में जाना जाता है। यह JVM मेमोरी में एक डेटा क्षेत्र है जो एकल निष्पादन थ्रेड के लिए बनाया गया है। एक धागे के JVM स्टैक का उपयोग धागे द्वारा विभिन्न तत्वों अर्थात् स्थानीय चर, आंशिक परिणाम और कॉलिंग विधि और रिटर्न के लिए डेटा को स्टोर करने के लिए किया जाता है।

देशी ढेर : यह आपके आवेदन में प्रयुक्त सभी मूल तरीकों को ग्रहण करता है।

निष्पादन इंजन:

  • JIT compiler
  • कचरा इकट्ठा करने वाला

JIT compiler:जस्ट-इन-टाइम (JIT) कंपाइलर रनटाइम वातावरण का एक हिस्सा है। यह रन समय में मशीन कोड के लिए बायोटेक का संकलन करके जावा अनुप्रयोगों के प्रदर्शन को बेहतर बनाने में मदद करता है। JIT कंपाइलर डिफ़ॉल्ट रूप से सक्षम है। जब कोई विधि संकलित की जाती है, तो JVM उस विधि के संकलित कोड को सीधे कॉल करता है। JIT कंपाइलर मशीन कोड में उस पद्धति के बायटेकोड को संकलित करता है, जिसे 'बस समय में' चलाने के लिए संकलित करता है।

कचरा इकट्ठा करने वाला: जैसा कि नाम बताता है कि कचरा इकट्ठा करने वाला अप्रयुक्त सामग्री एकत्र करने का मतलब है। खैर, जेवीएम में यह काम कचरा संग्रह द्वारा किया जाता है। यह JVM हीप स्पेस में उपलब्ध प्रत्येक वस्तु को ट्रैक करता है और अवांछित लोगों को हटाता है।
कचरा संग्राहक दो सरल चरणों में काम करता है जिसे मार्क और स्वीप के रूप में जाना जाता है:

  • निशान - यह वह जगह है जहाँ कचरा संग्रहकर्ता यह पहचानता है कि कौन सा स्मृति उपयोग में है और कौन सा नहीं है
  • स्वीप - यह 'मार्क' चरण के दौरान पहचानी गई वस्तुओं को हटा देता है।

जावा क्रम पर्यावरण:

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

सीएसएस में क्या होवर है

जावा डेवलपमेंट किट:

जावा डेवलपमेंट किट (JDK) एक सॉफ्टवेयर डेवलपमेंट वातावरण है जिसका उपयोग जावा एप्लिकेशन और एप्लेट्स को विकसित करने के लिए किया जाता है। इसमें JRE और कई विकास उपकरण, एक दुभाषिया / लोडर (जावा), एक कंपाइलर (javac), एक संग्रहकर्ता (jar), एक प्रलेखन जनरेटर (javadoc) के साथ एक और उपकरण शामिल है।

आरेख में दिखाया गया नीला क्षेत्र JDK है। अब, मैं आप सभी को विकास के साधनों के बारे में बताता हूं।

जावा : यह सभी जावा अनुप्रयोगों के लिए लांचर है।
जेवैक : जावा प्रोग्रामिंग भाषाओं की अधिकता।
जावदोक : यह एपीआई प्रलेखन जनरेटर है।
जार : सभी JAR फ़ाइलों को बनाता और प्रबंधित करता है।

जावा आर्किटेक्चर के साथ आगे बढ़ते हुए, आइए समझते हैं कि जावा प्लेटफॉर्म कैसे स्वतंत्र है?

जावा प्लेटफॉर्म कैसे स्वतंत्र है?

किसी भी प्रोग्रामिंग भाषा को प्लेटफॉर्म-स्वतंत्र कब कहा जाता है? ठीक है, अगर और केवल अगर यह अपने विकास और संकलन के संबंध में सभी उपलब्ध ऑपरेटिंग सिस्टम पर चल सकता है।
अभी, जावा सिर्फ प्लेटफ़ॉर्म बाइ -कोड के कारण स्वतंत्र है। मुझे बताओ कि क्या वास्तव में एक बायोटेक है? आसान शब्दों में,
बाइटकोड JVM का एक कोड है जो मशीन-समझने योग्य है।
जावा में बायोटेक निष्पादन यह साबित करता है कि यह एक प्लेटफ़ॉर्म-स्वतंत्र भाषा है।
यहाँ, मैं आपको java bytecode निष्पादन की प्रक्रिया में शामिल चरणों को दिखाऊँगा।

नीचे दिए गए चरणों की व्याख्या है:

sample.java → javac (नमूना। वर्ग) → JVM (sample.obj) → अंतिम आउटपुट

पहले स्रोत कोड का उपयोग जावा कंपाइलर द्वारा किया जाता है और इसे .class फ़ाइल में परिवर्तित किया जाता है। क्लास फाइल कोड बाइट कोड फॉर्म में होता है और उस क्लास फाइल का इस्तेमाल JVM द्वारा ऑब्जेक्ट फाइल में बदलने के लिए किया जाता है। उसके बाद, आप अपनी स्क्रीन पर अंतिम आउटपुट देख सकते हैं।

जावा आर्किटेक्चर लेख में आगे बढ़ते हुए, आइए हम इस अवधारणा को समझते हैं जावा में जे.आई.टी.

जावा में जे.आई.टी.

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

sql सर्वर दिनांक डेटा प्रकार

जेआईटी कंपाइलर - जावा आर्किटेक्चर - एडुर्का

JIT संकलक विधि के बाइट कोड को मशीन कोड में संकलित करता है, इसे 'जस्ट इन टाइम' चलाने के लिए संकलित करता है। जब कोई विधि संकलित की जाती है, तो JVM उस विधि के संकलित कोड को सीधे कॉल करता है।
गहरा गोता लगाओ:
बाइट कोड की व्याख्या मशीन द्वारा दिए गए अनुदेश सेट के आधार पर उचित मशीन निर्देशों के साथ की जाती है। इसके अलावा, इन्हें सीधे निष्पादित किया जा सकता है यदि निर्देश वास्तुकला बाइट कोड आधारित हो। बाइट कोड की व्याख्या करने से निष्पादन की गति प्रभावित होती है।
प्रदर्शन में सुधार करने के लिए, JIT कंपाइलर जावा वर्चुअल मशीन (JVM) को रन टाइम पर इंटरैक्ट करता है और उपयुक्त बायोटेक सीक्वेंस को देशी मशीन कोड (जैसा कि आरेख में दिखाया गया है) में संकलित करता है। जेआईटी कंपाइलर का उपयोग करते समय, हार्डवेयर देशी कोड को निष्पादित करने में सक्षम होता है, जेवीएम की बाइटकोड की एक ही अनुक्रम की बार-बार व्याख्या करने और अनुवाद प्रक्रिया के लिए ओवरहेड करने की तुलना में।

इसके साथ, मैं जावा आर्किटेक्चर पर इस लेख के अंत की ओर पहुंच गया हूं। मुझे उम्मीद है कि ऊपर-चर्चा किए गए विषयों ने आपके जावा ज्ञान के लिए मूल्य जोड़ा। अधिक लेख के लिए बने रहें!

अब जब आप जावा की मूल बातें समझ गए हैं, तो देखें 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। एडुर्का का जावा J2EE और SOA प्रशिक्षण और प्रमाणन पाठ्यक्रम उन छात्रों और पेशेवरों के लिए डिज़ाइन किया गया है जो जावा डेवलपर बनना चाहते हैं। पाठ्यक्रम आपको जावा प्रोग्रामिंग में एक सिर शुरू करने के लिए डिज़ाइन किया गया है और आपको हाइबरनेट और स्प्रिंग जैसे विभिन्न जावा फ्रेमवर्क के साथ कोर और उन्नत जावा अवधारणाओं दोनों के लिए प्रशिक्षित करता है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस 'जावा आर्किटेक्चर और इसके घटकों' ब्लॉग के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपको वापस प्राप्त करेंगे।