一、单例模式定义
单例模式的意思就是只有一个单例,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类成为单例类。
二、单例模式要点
某个类只能有一个实例。
它必须自行创建这个实例。
它必须自行向整个系统提供这个实例。
三、单例模式实例
a、饿汉式单例
//饿汉式单例类.在类初始化时,已经自行实例化
public class SingleTonDemo {
public static void main(String[] args) {
SingleTon ton1 = SingleTon.getInstance();
SingleTon ton2 = SingleTon.getInstance();
}
}
class Singleton {
private Singleton() {}
private static final Singleton single = new Singleton();
private SingleTon(){
System.out.println("SingleTon");
}
//静态工厂方法
public static Singleton getInstance() {
return single;
}
}
饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变,所以天生是线程安全的。
b、懒汉式单例
public class SingleTonDemo {
public static void main(String[] args) {
SingleTon ton1 = SingleTon.getInstance();
SingleTon ton2 = SingleTon.getInstance();
}
}
class SingleTon{
private static SingleTon singleTon = null ;
private SingleTon(){
System.out.println("SingleTon");
}
public static SingleTon getInstance(){
if(singleTon == null){
singleTon = new SingleTon();
}
return singleTon;
}
}