辛格尔顿溶液
回答
在问题中引用的代码基本上是这样的:
class Singleton {
private static Singleton instance = new Singleton();
public static Singleton getInstance() {
return instance;
}
}
这是线程安全的,因为实例更是不可以偷懒初始化,而是被实例化一次上课的时候被加载。
类加载器强制它自己的同步来保证类初始化是线程安全的。
+1我更喜欢'枚举Singleton',因为它更简单恕我直言。 – 2013-03-17 00:22:58
@PeterLawrey我认为枚举单例模式是滥用枚举(虽然它工作)。我更喜欢静态的内部类模式,它提供了懒惰单元加线程安全性,而不需要任何同步 - 这是神奇的。 – Bohemian 2013-03-17 00:45:59
您应该使'instance'最终确保对所有线程的最新可见性。 – 2013-03-17 01:15:17
- 1. 辛格尔顿
- 2. 辛格尔顿ExtJs4
- 3. swift3 - 辛格尔顿
- 4. 辛格尔顿子
- 5. 辛格尔顿Vs的辛格尔顿厂
- 6. 辛格尔顿会话bean
- 7. 辛格尔顿NServiceBus佐贺
- 8. 辛格尔顿与集群
- 9. jQuery的辛格尔顿
- 10. 辛格尔顿功能IOS
- 11. PHP OOP辛格尔顿
- 12. Unity3D辛格尔顿用MonoBehavior
- 13. 辛格尔顿V/S类
- 14. 辛格尔顿反模式
- 15. 的mysqli和辛格尔顿
- 16. C++辛格尔顿失败
- 17. 辛格尔顿在Java中
- 18. 辛格尔顿迅速3
- 19. 辛格尔顿在Android的
- 20. 辛格尔顿问题
- 21. 辛格尔顿实例
- 22. .NET DbProviderFactory和辛格尔顿
- 23. 辛格尔顿事件
- 24. 辛格尔顿的viewController
- 25. 什么是辛格尔顿
- 26. 辛格尔顿Imlementation类
- 27. Ninject辛格尔顿厂
- 28. 辛格尔顿 - 有道
- 29. 辛格尔顿与JBoss SEAM
- 30. PHP,辛格尔顿和$就
'getInstance()'是该类的'static'-context中唯一可用的方法。对于它的执行,静态初始化(因此创建对象)将被执行。因此,在调用静态方法之前不会创建任何对象。 – 2013-03-17 00:15:27