在开发中时不时,或者不知不觉中都会用到设计模式,今天很简单的说一下单例模式的实现。
单例模式:通俗的讲就是,只能有一个,只能创建一个实例,即使是有很多的用户的系统,登陆以后,也只能有一个实例化的该方法。下面是一个java代码的简单演示与实现。
多例的模式:每次调用都会创建一个新的实例
打印结果为:false
package SingleTon;
public class SingleTonTest {
public static void main(String[] args) {
SingleTon s1 = new SingleTon();
SingleTon s2 =new SingleTon();
System.out.println(s1 == s2);
}
}
class SingleTon{
}
单例的实现模式:只会创建一个实例对象
打印结果为:true
package SingleTon;
public class SingleTonTest {
public static void main(String[] args) {
SingleTon s1 = SingleTon.getInstance();
SingleTon s2 = SingleTon.getInstance();
System.out.println(s1 == s2);
}
}
class SingleTon{
// 第三步 将生成的实例进行缓存
private static SingleTon Instance = null;
// 第一步 私有化构造器
private SingleTon(){
}
// 第二步 提供对外的方法
public static SingleTon getInstance(){
// 为了防止 在多用户时候的并发问题,导致创建多个对象,采用加锁
synchronized (SingleTon.class){
if(Instance == null){
Instance = new SingleTon();
}
}
return Instance;
}
}