Java memory model यह स्पष्ट करता है कि थ्रेड कैसे स्मृति के माध्यम से बातचीत करते हैं, इस बारे में क्या माना जा सकता है और नहीं माना जा सकता है। उदाहरण के लिए, यदि एक थ्रेड उचित सिंक्रनाइज़ेशन के बिना किसी फ़ील्ड में एक नया मान लिखता है तो नए मान को अन्य धागे द्वारा देखने योग्य होने की गारंटी नहीं है। अभ्यास में, हालांकि, अन्य धागे किसी भी तरह से अपर्याप्त सिंक्रनाइज़ेशन के बावजूद नए मूल्य को पढ़ सकते हैं, लिखने और पढ़ने, हार्डवेयर आर्किटेक्चर आदि के बीच के समय के आधार परक्या JVM का सबसे खराब केस कार्यान्वयन है?
इससे ऐसी बग हो सकती हैं जो खोजना मुश्किल हो और पुन: पेश करना मुश्किल हो । इसलिए यह एक सबसे खराब मामले JVM पर जावा एप्लिकेशन चलाने के लिए उपयोगी हो सकता है जिसने Java memory model में गारंटी से परे धागे के बीच बिल्कुल कोई स्मृति सिंक्रनाइज़ेशन नहीं किया। क्या ऐसा सबसे खराब मामला JVM कार्यान्वयन मौजूद है?
मैंने सोचा कि सूर्य ने इसे लिखा है। – GEOCHET
मैंने सोचा कि माइक्रोसॉफ्ट जे ++ यह था। –
आप दोनों सोचते हैं कि आप मजाकिया हैं, लेकिन दोनों नकारात्मक और नकारात्मक के बजाय माइक्रोसॉफ्ट के बारे में सकारात्मक बातें कह रहे हैं। यह सबसे अच्छा होगा यदि JVM हमेशा स्मृति मॉडल से सबसे खराब केस परिणाम दिखाता है क्योंकि इससे सबसे अधिक बग प्रकट होंगे, लेकिन यह अभी मामला नहीं है, जहां इनमें से अधिकतर बग छिपाए गए हैं – Pyrolistical