जावा मेमोरी मॉडल (1.5 से) final
फ़ील्ड को अलग-अलग गैर-final
फ़ील्ड के साथ व्यवहार करता है। विशेष रूप से, this
संदर्भ निर्माण के दौरान नहीं बचता है, कन्स्ट्रक्टर में final
फ़ील्ड लिखने के लिए अन्य थ्रेड पर दिखाई देने की गारंटी दी जाती है, भले ही ऑब्जेक्ट डेटा थ्रेड के माध्यम से अन्य थ्रेड पर उपलब्ध कराया गया हो। (गैर-final
फ़ील्ड को दृश्यमान होने की गारंटी नहीं है, इसलिए यदि आप उन्हें अनुचित रूप से प्रकाशित करते हैं, तो एक और धागा उन्हें आंशिक रूप से निर्मित राज्य में देख सकता है।)स्कैला और जावा मेमोरी मॉडल
क्या कोई दस्तावेज है कि स्कैला कंपाइलर कैसे बनाता है final
(गैर-final
के बजाय) कक्षाओं के लिए बैकिंग फ़ील्ड? मैंने भाषा विनिर्देश को देखा है और वेब की खोज की है लेकिन कोई निश्चित उत्तर नहीं मिल रहा है।
होता था लेकिन भाषा संरचनाओं के एक समवर्ती परिप्रेक्ष्य से व्यवहार, इसके विनिर्देश का हिस्सा होना चाहिए जो मैं तर्क दूंगा! –