一概述:
单例模式确保一个类只有一个实例,并提供一个全局访问点(static)。
二。构建单例模式的要点:1.构造方法私有化
2静态属性私有化,提供公共方法获取静态属性的实例
3.多线程下加synchronized关键字
三。懒汉式:
private Singleton1(){}
private static Singleton1 singleton1;
public static synchronized Singleton1 getIntances(){
if(singleton1 != null){
singleton1 = new Singleton1();
}
return singleton1;
}
四。饿汉式:
private Singleton(){}
private static Singleton singleton = new Singleton();;
public static synchronized Singleton getIntances(){
return singleton;
}
五:区别:
饿汉式是线程安全的,在类加载的同时就已经创建好一个静态的对象供系统使用,以后不再改变
懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的