一、单例模式介绍
单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象的实例方法(静态方法) 。
二、单例模式实现方式
单例模式的实现步骤为:1)构造器私有化(防止new);2)类的内部创建对象;3)向外暴露一个静态的公共方法(getInstance())。 单例模式的实现方式一共有8种,分别为:饿汉式(静态常量)、饿汉式(静态代码块)、懒汉式(线程不安全)、懒汉式(线程安全,同步方法)、懒汉式(线程安全,同步代码块)、双重检查、静态内部类、枚举。接下来逐一讲解这8种实现方式的优缺点。
2.1饿汉式(静态常量)
public class Singleton{
//构造器私有化,外部不能new
private Singleton(){
}
//本类内部创建对象实例
private static final Singleton instance = new Singleton();
//提供一个公有的静态方法,返回实例对象
public static Singleton getInstance(){
return instance;
}
}
这种实现方式比较简单,就是在类装载的时候就完成实例化,避免了线程同步问题,但是在类装载的时候就完成实例化,没有达到