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