什么是在Java中实现单例模式的有效方式?

问题:

什么是在Java中实现单例模式的有效方式?

回答:

使用枚举:

public enum Foo {
    INSTANCE;
}

Joshua Bloch在Google I / O 2008 Effective Java ReloadedEffective Java Reloaded谈话中解释了这种做法:link to video。另见幻灯片30-32他的演示文稿(effective_java_reloaded.pdf):

实现可序列化单例的正确方法

 编辑: online portion of “Effective Java”说:

“这种方法在功能上等同于公共领域的方法,除了它更简洁,提供免费的序列化机制,并提供了一个铁包保证,以防多个实例化,即使面对复杂的序列化或反射攻击。尚未被广泛采用,单元素枚举类型是实现单例的最佳方式

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: What is an efficient way to implement a singleton pattern in Java?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

77 − = 72