我有两个选择:单和公共静态变量的Java
Singleton模式
class Singleton{ private static Singleton singleton = null; public static synchronized Singleton getInstance(){ if(singleton == null){ singleton = new Singleton(); } return singleton; } }
使用
static final
场private static final Singleton singleton = new Singleton(); public static Singleton getSingleton() { return singleton; }
请告诉我有什么区别? (单线程或多线程)
更新:我知道Bill Pugh或enum
方法。 我不是在寻找正确的方法,但我只使用了1.是否真的有什么区别b/w 1或2?
更新后的问题没有什么区别。 –
这个问题与单身无关。您询问有关从同步/非同步上下文访问静态字段的问题。请编辑标签。 – Juvanis
@BhavikAmbani我不同意,因为第一个选项会锁定试图获取实例的每个线程,因此性能稍差。 –