UseMembar या नहीं, एक सख्त तरीके से membar निर्देशों का उपयोग करने के लिए, आगे बढ़ने से पहले पूरा करने के लिए सभी स्मृति कार्यों के लिए मजबूर कर निर्धारित करता है।
यह मूल रूप से कोड के साथ नियंत्रित किया जाता है खिलवाड़ से प्रोसेसर की देरी स्मृति से निपटने अनुकूलन बंद हो जाता है।
यह आम तौर पर चीजों को धीमा कर देता है, और कोड के विशाल बहुमत के लिए आधुनिक वीएम पर आवश्यक नहीं है। चाहिए जहां कोड धागा सुरक्षित हो लेकिन है
कभी कभी आपको समस्या आ जाती membar अनुदेश उपयोग की कमी की वजह से नहीं। इन मामलों में आप इस कोड को एकल-थ्रेडिंग पर स्विच किए बिना या कोड को रोकने के लिए कोड के ऑर्डरिंग के साथ गड़बड़ किए बिना काम करने के लिए चालू कर सकते हैं।
JVM कोड है कि समस्याओं का कारण होगा और या तो एक membar डालने या पूरा करने के लिए स्मृति कार्यों के लिए समय प्रदान करने के लिए एक JIT कोड पुनर्व्यवस्थित अनुकूलन कर पता लगाने में आम तौर पर अच्छा है। वास्तव में, विषय पर मेरी वेब खोज में, मुझे केवल बग का एक उदाहरण मिला, और यह हॉटस्पॉट जेवीएम के ओरेकल और ओपनजेआरई संस्करणों के हाल के संस्करणों में तय किया गया था।
एक नोट के रूप में, एआरएम आर्किटेक्चर के लिए इस विकल्प को अभी भी चूक पर, क्योंकि वैकल्पिक अनुकूलन (छद्म-membar अनुकूलन के रूप में जाना जाता है) अभी तक लागू नहीं किया गया, और इस प्रकार यह विषय membar निर्देश के बिना बहुत गाड़ी हो रहा है करने के लिए।
स्रोत
2015-12-26 23:47:21
बीटीडब्लू: -XX विकल्प आधिकारिक रूप से समर्थित नहीं हैं और बिना किसी सूचना के भविष्य के रिलीज से निकाल दिए जा सकते हैं। –
@Rastislav सच है, लेकिन कई मामलों में आप उन्हें इस्तेमाल करने की जरूरत में ... –