दो अतिरिक्त आइटम हैं जिन्हें मैं हाथ से याद रख सकता हूं:
- JIT संकलन
- थ्रेडिंग कार्यान्वयन
वास्तविक समय की अवधि में, प्रदर्शन की भविष्यवाणी संभवतः सबसे महत्वपूर्ण कारक है; यही कारण है कि एक अप्रत्याशित जीसी चक्र वास्तविक समय के लिए जावा को अनुपयुक्त बनाता है।
JIT बेहतर प्रदर्शन प्रदान करता है, लेकिन कार्यक्रम चलने के बाद कुछ बिंदु पर किक करता है, कुछ संसाधन लेता है, और सिस्टम की निष्पादन गति को बदलता है। यह बाद के चरण में भी हो सकता है, अगर वीएम का मानना है कि यह उस समय "बेहतर" काम कर सकता है।
जहाँ तक सूत्रण: मैं इस बिंदु पर बहुत याद नहीं करता अगर यह भाषा डिजाइन का हिस्सा है, या सिर्फ एक बहुत ही सामान्य कार्यान्वयन है, लेकिन जावा आमतौर पर थ्रेड निष्पादन को ठीक करने के लिए कोई उपकरण प्रदान नहीं करता है; उदाहरण के लिए, जबकि थ्रेड्स के लिए निर्दिष्ट 10 "प्राथमिकताएं" हैं, कोई आवश्यकता नहीं है कि वीएम वास्तव में इन प्राथमिकताओं पर विचार करता है। थ्रेड्स को रोकने और स्विच करने के लिए ऑपरेटर्स को भी या तो सिस्टम द्वारा परिभाषित नहीं किया जाता है, या सख्ती से पालन नहीं किया जाता है।
JSR 1 के कई कार्यान्वयन हैं : जावा के लिए वास्तविक समय विशिष्टता - एक युक्ति जिसे 1998 में अनुमोदित किया गया है। यह कल्पना यथासंभव उन मुद्दों को संबोधित करती है जो वास्तविक समय के लिए मानक जावा को अनुपयुक्त बनाता है।
शायद 5 साल पहले, सन (अब ओरेकल) के पास आरटीएसजे वीएम था (जिसका नाम एएफएआईके कभी नहीं था); आईबीएम के पास वेबस्फीयर रियल टाइम था; और जमैकावीएम एक स्वतंत्र (?), मंच-स्वतंत्र समाधान था। आज उन लोगों को देखने से बहुत कुछ नहीं होता।