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