单例设计模式:一个类有且仅有一个实例,而且自行实例化然后提供给其他类。
单例设计模式分为两类:饿汉式和饱汉式。
饿汉式指的是在类加载时创建。懒汉式指的是在使用的时候进行判断,如果需要再创建。
饿汉式的代码如下:
public class SinglePattern {
private static SinglePattern singlePattern=new SinglePattern();
private SinglePattern(){
}
public static SinglePattern getInstance(){
return singlePattern;
}
}
懒汉式的代码如下:
public class SinglePattern {
private static SinglePattern singlePattern;
private SinglePattern(){
}
public static SinglePattern getInstance(){
if(singlePattern==null){
singlePattern=new SinglePattern();
}
return singlePattern;
}
}
饿汉式是线程安全的,获取的一直是同一个实例。懒汉式不同,懒汉式线程不安全,如果把其改造成线程安全的话,你需要在其getInstance方法
加上同步synchronized,这样线程就变安全了。
667

被折叠的 条评论
为什么被折叠?



