单例模式:一个类只有一个实例,即一个类只有一个对象实例。
单例模式可以分为懒汉式和饿汉式:
懒汉式单例模式:在类加载时不初始化。
饿汉式单例模式:在类加载时就完成了初始化,所以类加载比较慢,但获取对象的速度快。
懒汉模式,线程不安全:
public class Singleton(){
private Singleton instance;
private Singleton(){}
private Singleton getInstance(){
if(instance == null){
instance = new Singleton();
}
return instance;
}
}
懒汉模式,线程安全:在方法上加上synchronized
饿汉模式:
public class SinglotenDemo{
private SinglotenDemo sld = new SinglotenDemo();
private SinglotenDemo(){}
private SinglotenDemo getInstance(){
return sld;
}
}