三种单例模式的写法
程序员文章站
2022-03-07 16:04:43
...
第一种:
public class test3 {
private static Object singleton;
public static Object singleton() {
if(singleton == null) {
singleton = new Object();
}
return singleton;
}
}
这种模式在多线程下会生成多个Object对象;
第二种:
public class test3 {
private static Object singleton ;
public static synchronized Object singleton() {
if(singleton == null) {
singleton = new Object();
}
return singleton;
}
}
这种模式在多线程获取Object 对象直接变成同步,多线程下效率很低
第三种:
public class test3 {
private static Object singleton = new Object();
public static Object singleton() {
return singleton;
}
}
类在加载的时候就直接生成对象,多线程不会生成多个对象,也不会影响效率
上一篇: python单例模式示例
下一篇: 单例 - iOS