उदा मैं स्थिर क्षेत्र instance
साथ वर्ग Singleton
है:सिंगलटन वर्ग
public class Singleton {
private static Singleton instance;
// other code, construct, getters, no matter
}
मैं दो अलग अलग classloaders साथ दो बार इस वर्ग लोड कर सकते हैं। मैं इससे कैसे बच सकता हूं? यह असुरक्षित और खतरनाक है।
इसके अलावा, अगर मैं शून्य को उदाहरण सेट करता हूं, तो क्या यह दोनों कक्षाओं के लिए शून्य हो जाएगा?
Singleton singleton = Singleton.getInstance();
singleton = null;
यदि आप वास्तव में एक सिंगलटन डिज़ाइन पैटर्न प्राप्त करना चाहते हैं, तो जावा में [enum type] (http://en.wikipedia.org/wiki/Singleton_pattern#The_Enum_way) का पालन करें - "* एक एकल-तत्व enum प्रकार है सिंगलटन * " – Lion
लागू करने का सबसे अच्छा तरीका enum पैटर्न प्रति वर्ग लोडर के एक उदाहरण की उपस्थिति को रोक नहीं पाएगा, है ना? – keuleJ
सिंगलेट्स के बारे में: http://weblogs.java.net/blog/kirillcool/archive/2005/08/how_single_is_y.html – keuleJ