पहले प्रश्न के लिए हाँ और दूसरे प्रश्न के लिए नहीं; यह एक वर्चुअल मशीन है। आपकी समस्याएं संभवतः संस्करणों के बीच पुस्तकालय कार्यान्वयन में अनिर्दिष्ट परिवर्तनों से संबंधित हैं। हालांकि यह हो सकता है, कहते हैं, एक दौड़ की स्थिति।
कुछ हुप्स हैं जिनसे वीएम को गुजरना पड़ता है। विशेष रूप से संदर्भों को वर्ग फ़ाइलों में माना जाता है जैसे कि वे int
स्टैक पर एस के समान स्थान लेते हैं । double
तथाlong
दो संदर्भ स्लॉट लें। उदाहरण के लिए फ़ील्ड, वीएम कुछ पुनर्व्यवस्था है जो आमतौर पर किसी भी माध्यम से जाती है। यह सब (अपेक्षाकृत) पारदर्शी तरीके से किया जाता है।
साथ ही कुछ 64-बिट JVM "संपीड़ित ऊप्स" का उपयोग करते हैं। क्योंकि डेटा हर 8 या 16 बाइट्स के आसपास संरेखित होता है, पते के तीन या चार बिट बेकार होते हैं (हालांकि कुछ एल्गोरिदम के लिए "निशान" बिट चोरी हो सकता है)। यह 32-बिट एड्रेस डेटा (इसलिए आधे बैंडविड्थ का उपयोग करके, और इसलिए तेजी से) 64-बिट प्लेटफॉर्म पर 35- या 36-बिट्स के ढेर का उपयोग करने की अनुमति देता है।