Java Virtual Machine (JVM)
Java Virtual Machine (JVM) एक Abstract machine है जो विभिन्न Hardware और Operating System पर चलने के लिए Java Applications के लिए एक Runtime Environment प्रदान करती है. यह Java Platform का एक प्रमुख Component है और Java Bytecode की interpreting और executing के लिए जिम्मेदार है.
Java Bytecode instructions का एक सेट है जो Java Compiler द्वारा Java Source Code को Compile करते समय उत्पन्न होता है. JVM इन Bytecode instructions की interpreting करने और Host machine पर उन्हें executing करने के लिए जिम्मेदार है.
JVM Compiler Java Code और Underlying Hardware और Operating System के बीच एक abstraction layer प्रदान करता है. यह Java Program को Platform-independent होने की अनुमति देता है, जिसका अर्थ है कि एक Operating System पर Compiled एक Java Program किसी अन्य Operating System पर चल सकता है जिसमें compatible JVM installed हो.
JVM Memory Management, garbage collection और Security जैसी विभिन्न सेवाएं भी प्रदान करता है. Memory Management और garbage collection सुनिश्चित करता है कि Java Program कुशल हैं और बहुत अधिक Memory का consume नहीं करते हैं या Memory Leak का कारण नहीं बनते हैं. Security विशेषताएं सुनिश्चित करती हैं कि Java Program चलाने के लिए सुरक्षित हैं और underlying system के लिए खतरा पैदा नहीं करते हैं.
Also Read: History Of Java in Hindi
Java Virtual Machine (JVM) को highly configurable योग्य बनाया गया है, जिससे डेवलपर्स विशिष्ट आवश्यकताओं के अनुरूप अपने व्यवहार को अनुकूलित कर सकते हैं. उदाहरण के लिए, इसे विभिन्न garbage collection Algorithm का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है या Java Bytecode को parallel में Execution करने के लिए multiple threads का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है.
Java Virtual Machine का उपयोग करने के फायदों में से एक यह है कि यह Java Program को चलाने के लिए एक standardised Environment प्रदान करता है. इसका मतलब यह है कि Java Program को एक बार लिखा जा सकता है और किसी भी सिस्टम पर चलाया जा सकता है, जिसमें एक Compatible JVM installed है, बिना recompilation या modification के.
JVM द्वारा किए जाने वाले works हैं:
- Java Bytecode की interpreting करना: JVM Java Compiler द्वारा उत्पन्न Java Bytecode की interprete करता है और इसे होस्ट मशीन पर Execute करता है.
- Memory Management: JVM Java Programs के लिए Memory Allocation और deallocation को मैनेज करता है. यह स्वचालित रूप से Java Objects के लिए Memory के allocation और deallocation को संभालता है, Memory Leak को रोकता है और efficient Memory उपयोग सुनिश्चित करता है.
- Garbage collection: JVM Memory को खाली करने के लिए garbage collection करता है जो अब Java Program द्वारा उपयोग में नहीं है. यह automatically रूप से उन Objects की पहचान करता है और हटा देता है जिनकी अब Program को आवश्यकता नहीं है.
- Security Management:JVM यह सुनिश्चित करने के लिए sandboxing जैसी Security सुविधाएँ प्रदान करता है कि Java Program चलाने के लिए सुरक्षित हैं और underlying system के लिए खतरा पैदा नहीं करते हैं.
- Class loading: JVM Java Classes को गतिशील रूप से Load करता है क्योंकि उन्हें Program की आवश्यकता होती है. यह यह भी सुनिश्चित करता है कि Classes को केवल एक बार Load किया जाए, जिससे अनावश्यक दोहराव को रोका जा सके.
- Bytecode verification: Java Virtual Machine इसे Execution करने से पहले Security और शुद्धता के लिए Bytecode की पुष्टि करता है. यह सुनिश्चित करता है कि Java Program Security या शुद्धता बाधाओं का उल्लंघन नहीं करते हैं.
- Execution optimization: JVM प्रदर्शन में सुधार के लिए Java Program के executing का Optimize करता है. यह तेजी से executing के लिए अक्सर उपयोग किए जाने वाले Code Path को native code में बदलने के लिए just-in-time (JIT) compilation जैसी विभिन्न तकनीकों का उपयोग करता है.
- Platform independence: Java Virtual Machine Java Programs के लिए platform-independent execution environment प्रदान करता है. इसका मतलब यह है कि Java Program किसी भी सिस्टम पर चल सकते हैं जिसमें एक Compatible JVM installed है, underlying hardware या Operating System की परवाह किए बिना.
Java Virtual Machine (JVM) Architecture
JVM (Java Virtual Machine) एक Abstract machine है जो Java Program को Execution करने के लिए Runtime Environment प्रदान करती है. JVM की Architecture को तीन मुख्य Components में विभाजित किया जा सकता है: Class Loader, Runtime डेटा Area और executing इंजन.
- Class Loader: Class Loader Java Classes को Runtime पर Load करने के लिए ज़िम्मेदार है. यह फाइल सिस्टम या नेटवर्क से Class फाइलों को Load करता है और उन्हें Runtime डेटा एरिया में स्टोर करता है. Class Loader यह भी सुनिश्चित करता है कि Load की गई Class टाइप-सुरक्षित हों और JVM के साथ Compatible हों.
Class Loader के तीन Component होते हैं:
- Bootstrap Class Loader:: यह ClassLoader का पहला Component है और कोर Java Classes को Load करता है जो Java Runtime Environment (JRE) का हिस्सा हैं.
- Extension Class Loader: यह ClassLoader का दूसरा Component है और JRE की extension directories से Classes को Load करता है.
- System Class Loader: यह ClassLoader का तीसरा Component है और Application के Classpath से Classes को Load करता है.
- Runtime Data Area: Runtime data area JVM (Java Virtual Machine) द्वारा Runtime पर उपयोग किया जाने वाला Memory area है. इसे पाँच main Components में विभाजित किया गया है:
- Method Area: यह area class-level data store करता है, जैसे कि Bytecode, static variables और method की जानकारी.
- Heap:यह Area Runtime पर निर्मित Objects को संग्रहीत करता है.
- Stack: यह Area method-level data store करता है, जैसे local variables and method parameters.
- PC (Program Counter) Register: यह Area Execution किए जा रहे current instruction के address को store करता है.
- Native Method Stack:यह Area native methods को Execution करने के लिए JVM द्वारा आवश्यक डेटा store करता है.
- Execution Engine: Execution Engine Java Bytecode instructions को Execution करने के लिए ज़िम्मेदार है. इसके दो Components हैं:
- Interpreter: यह Component bytecode instructions की एक-एक करके interprete करता है और उन्हें executes करता है. यह JVM का default executing mode है.
- Just-In-Time (JIT) Compiler:यह Component तेजी से executing के लिए अक्सर उपयोग किए जाने वाले Bytecode instructions को Native Code में Compile करता है. JIT Compiler Java Programs के प्रदर्शन में काफी सुधार कर सकता है.
4. Java Native Interface: Java Native Interface (JNI) एक framework है जो C, C++, Assembly इत्यादि जैसी किसी अन्य languages में लिखे गए अन्य Application के साथ communicate करने के लिए एक इंटरफ़ेस प्रदान करता है. Java JNI framework का उपयोग console पर output भेजने या OS libraries के साथ interact करने के लिए करता है.
Conclusion
तो उम्मीद करता हूँ कि आपको हमारा यह पोस्ट “Java Virtual Machine (JVM) in Hindi” अच्छा लगा होगा. इससे जुड़े हुए और भी पोस्ट आपको देखने को मिलेंगे जो आपको Java सिखने में मदद करेगी.
आप इसे अपने दोस्तों के साथ शेयर करें और हमें आप FacebookPage, Linkedin, Instagram, और Twitter पर follow कर सकते हैं जहाँ से आपको नए पोस्ट के बारे में पता सबसे पहले चलेगा. हमारे साथ बने रहने के लिए आपका धन्यावाद. जय हिन्द.
इसे भी पढ़े
- Java OperatorsJava में, Operator symbols या keyword होते हैं जिनका उपयोग variables या values पर operations करने के लिए किया जाता है.
- Java Unicode Systemआज की globalized दुनिया में, programming languages के लिए कई languages और character sets का support करना आवश्यक है.
- Java Virtual Machine (JVM)JVM (Java Virtual Machine) एक Abstract machine है जो विभिन्न Hardware और Operating System पर चलने के लिए Java Applications के लिए एक Runtime Environment प्रदान करती है.
- History Of Java in HindiJava को 1990 के दशक के मध्य में पोर्टेबिलिटी, सुरक्षा और सरलता पर ध्यान देने के साथ सन माइक्रोसिस्टम्स (Sun Microsystems) द्वारा विकसित किया गया था. यह तब से enterprise और web development के लिए एक लोकप्रिय Language बन गई है.
- Java Data TypesJava सिखने के इस पोस्ट में हम Java Data Types के बारे में जानेगे कि java में Data Types आखिर किस काम के लिए इस्तेमाल में आता है और इससे जुड़े और भी बहुत कुछ सिखने और जानने को मिलेगा.
- Java IdentifiersJava सिखने के इस पोस्ट में हम Java Identifiers के बारे में बात करेंगे और जानेगे कि आखिर ये होता क्या है और इसका java में किस रूप में इस्तेमाल होता है.
- Java Variable DeclarationJava सिखने के इस पोस्ट में हम Java Variable Declaration के बारे में जानेंगे. डिक्लेरेशन का मतलब variables को create करने से है.
- Java VariablesJava सिखने के इस पोस्ट में हम Java Variables के बारे में समझेंगे और ये भी जानेगे कि इसे कैसे बनाया जाता है.
- Java Syntaxइस पोस्ट में हम Java Syntax के बारे में विस्तार से बात करेंगे और जानेगे कि ये कोड सब काम क्या करता है.
- Hello World Java Programइस पोस्ट में हम Hello World को Java Program के माध्यम से बनायेंगे और run करेंगे. ये सबसे बेसिक कोड होता है java का जिससे आप java के बेसिक rules को जानेंगे. Also Read: Java Introduction Also Read: Installation of Java Hello World Java Program Java में, प्रत्येक एप्लिकेशन एक class name से शुरू होता… Read more: Hello World Java Program
मुझे नयी-नयी चीजें करने का बहुत शौक है और कहानी पढने का भी। इसलिए मैं इस Blog पर हिंदी स्टोरी (Hindi Story), इतिहास (History) और भी कई चीजों के बारे में बताता रहता हूँ।