चूंकि मैं एक सर्वर पर काम कर रहा हूं, जो उपयोगकर्ताओं के लिए बिल्कुल गैर-जारी राज्य नहीं है, हमारे पास प्रत्येक उपयोगकर्ता-संबंधित वस्तु हमारे पास प्रत्येक अनुरोध पर लुढ़की हुई है।
नतीजतन, मैं अक्सर खुद को उन वस्तुओं के गुणों का आलसीकरण करने लगता हूं जो अप्रयुक्त हो सकती हैं।
protected EventDispatcher dispatcher = new EventDispatcher();
हो जाता है ...
protected EventDispatcher<EventMessage> dispatcher;
public EventDispatcher<EventMessage> getEventDispatcher() {
if (dispatcher == null) {
dispatcher = new EventDispatcher<EventMessage>();
}
return dispatcher;
}
क्या इसका कोई कारण है कि इसे जावा में नहीं बनाया जा सकता है?
protected lazy EventDispatcher dispatcher = new EventDispatcher();
जैसा कि टिप्पणियों में नीचे उल्लेख किया गया है, मुझे लगता है कि एक भाषा सैद्धांतिक रूप से विकसित हो सकती है जिसमें आप सबसे अधिक चाहते हैं। मैं संभावना के व्यावहारिक माप की तलाश कर रहा हूं। क्या अन्य सुविधाओं के साथ यह संघर्ष होगा? क्या कार्यान्वयन सरल है जेवीएम के साथ काम करने के लिए पर्याप्त है क्योंकि यह मौजूद है? और भी, क्या यह एक अच्छा विचार है?
synchronized
यदि वह विधि पर था, तो कीवर्ड उसी तरह काम करेगा। मुझे लगता है कि अधिक जटिल निर्माण विधियों के कुछ आवास होंगे। मेरे विशिष्ट उपयोग के मामले में, समस्या की प्रकृति के कारण, हर अनुरोध के साथ, क्योंकि यह स्वयं की दुनिया है, सिंक्रनाइज़ किया गया व्यर्थ है।