जावा वर्चुअल मशीन क्‍या है?

जावा वर्चुअल मशीन क्‍या है (What is Java Virtual machine)?

Java एक ऑब्‍जेक्‍ट-ओरियेन्‍टेड प्रोग्रामिंग लैंग्‍वेज है, जो 1995 ई. में Sun Micro-systems द्वारा विकसित की गई। जावा वर्जुअल मशीन (Java Virtual Machine) एक क्‍लास लोडर (class loader), एक क्‍लास वेरिफायर (class verifier) और एक जावा इन्‍टरप्रेटर (java interpreter) का बना होता है; जो आर्किटेक्‍चर-न्‍यूट्रल बाइट कोड्स Java कम्‍पाइलर द्वारा java प्रोग्राम के प्रत्‍येक क्‍लास के लिए उत्‍पन्‍न (produce) किए जाते हैं। ज्ञातव्‍य हो java के प्रत्‍येक ऑब्‍जेक्‍ट class कन्‍सट्रक्‍ट द्वारा निर्दिष्‍ट किए जाते हैं, अत: कोई भी जावा-प्रोग्राम एक या एक से अधिक क्‍लास (class) का बना होता है।

Java कम्‍पाइलर द्वारा उत्‍पन्‍न (produce) किया गया Byte-code, Class फाइल में स्‍टोर होता है। Class Loader, class फाइलों को Java API से Java interpreter द्वारा एक्‍जक्‍यूट करने के लिए लोड करता है। जब कोई क्‍लास लोड हो जाती है, तो Class Verifier बहुत प्रकार से कई जाचें करता है जो निम्नलिखित है

  • क्‍लास फाइल वैलिड जावा-बाइटकोड है या नहीं।
  • क्‍लास फाइल वैलिड जावा-बाइटकोड है या नहीं।
  • लोड किया गया क्‍लास स्‍टैक (stack) में ओवरफ्लो (Overflow) या अन्‍डरफ्लो (underflow) कर रहा है या नहीं।
  • Byte code प्‍वॉइन्‍टर अर्थमेटिक ऑपरेशन करता है या नहीं।

यदि Class File, वैलिड जावा-बाइटकोड होता है और स्‍टैक (stack) में अन्‍डरफ्लो या ओवरफ्लो नहीं करता हैं तथा स्‍टैक प्‍वॉइन्‍टर अर्थमेटिक ऑपरेशन नहीं करता है, तो बाइटकोड Java-Machine/Java-Interpreter द्वारा रन किया जाता है। JVM (Java Virtual Machine) स्‍वत: ही गारबेज कॉलेक्‍शन (garbage Collection) मेथड द्वारा मेमोरी प्रबन्‍धन (Memory Management) का कार्य करता है।

Java Interpreter एक सॉफ्टवेयर मॉड्यूल हो सकता है, जो बाइटकोड्स (Byte codes) को इन्‍टरप्रेट (Interpret) करता है या फिर Just-in-Time (JIT) कम्‍पाइलर हो सकता है JIT बाइटकोड्स (Bytecodes) को रीयल टाइम (real time) में एक्‍जक्‍यूटेबल कोड में कम्‍पाइल करता है।

JVM आर्किटेक्‍चर-न्‍यूट्रल (Architecture Neutral) और पॉर्टेबल (portable) प्रोग्राम के डेवलपमेंट को सम्‍भव बनाता है। अर्थात् Java में डेवलप किए गए प्रोग्राम किसी भी प्रोसेसर पर किसी भी ऑपरेटिंग सिस्‍टम पर एक्‍जक्‍यूट कर सकते हैं। Java की वर्चुअल मशीन डिजाइन (Virtual Machine Design) सुविधाजनक, सुरक्षित, ऑब्‍जेक्‍ट ऑरियेन्‍टेड, पॉर्टेबल और आर्किटेक्‍चर-न्‍यूट्रल प्‍लेटफॉर्म प्रदान करती है, जिस पर Java के प्रोग्राम्‍स रन करते हैं।

नीचे दिए गए चित्र में Java Virtual Machine को दर्शाया गया है –



error: Content is protected !!