设计模式GOF23
单例模式
package java_226_GOF23设计模式_单例模式_应用场景_饿汉模式_懒汉模式_练习;
/**
- 测试恶汉式单例模式
*/
public class SingletonDemo01 {//SingletonDemo单例演示
//2.提供静态属性;恶汉式:即类初始化时立即加载这个对象;不管后面使用不使用;这个加载线程本身就是安全的
private static SingletonDemo01 instance = new SingletonDemo01();//instance实例
//1.构造器私有
private SingletonDemo01(){
}
//3.提供一个方法;直接访问对象这个不需要同步块;所以调用效率高
public static SingletonDemo01 getInstance(){//getInstance获取实例
return instance;
}
}
//-----------------------------------------------------------------
package java_226_GOF23设计模式_单例模式_应用场景_饿汉模式_懒汉模式_练习;
/**
-
测试懒汉式单例模式
*/
public class SingletonDemo2 {//SingletonDemo单例演示
//2.不初始化;延时加载,用的时候在创建对象
private static SingletonDemo2 instance ;
//1.构造器私有
private SingletonDemo2(){}
//3.synchronized同步;方法同步,调用效率低;
public static synchronized SingletonDemo2 getInstance(){//getInstance获取实例
if(instance==null){
instance = new SingletonDemo2();
}
return instance;
}
}