Java设计模式-单例设计模式

2018-07-27  本文已影响0人  怪咖大蜀

大家好,今天我们开始一起来了解设计模式,单例设计模式是我们在开发当中经常使用到的一个设计模式,如果你现在还不能快速手写出这个设计模式,那你现在真的要努力了。如果我们想让一个类在只能存在一个实例,不能存在多个实例。就可以使用我们这个单例设计模式了。单例设计模式主要实现方式有两种,第一种为饿汉式,其主要特点为,在类加载的时候,它所对应的实例对象就已经被创建完成了。第二种为懒汉式,因为它比较懒,所以只有当你请求获取它的实例的时候,它的实例才会被创建出来。好了,下面我们来看一下,这两个实现方式的例子:

饿汉式
public class Test {
    /**私有化构造函数,保证在正常情况下,其他人不能在其他地方new出该类的实例对象*/
    private Test(){}
    private static Test  test =  new Test();
    //getInstance()方法提供外部访问获取对象实例
    public static Test getInstance(){
          return test;
    }
}
懒汉式
public class Text {
    /**私有化构造函数,保证在正常情况下,其他人不能在其他地方new出该类的实例对象*/
    private Test(){}
    private static Test  test;
    //getInstance()方法提供外部访问获取对象实例
    public static Test getInstance(){
      //为了避免每次获取时同步机制的效率问题。进行一次判断。
        if(test == null){
        //同步锁避免多线程并发请求时,new出多个对象。出现错误。
            synchronized (Text.class){
                if(test == null){
                    test = new Test();
                }
            }
        }
        return test;
    }
}

好了通过上面两个例子,你已经了解单利设计模式中最基本的两个写法了。也是最经常被使用的两个写法,你有没有写小激动呢。这篇文章就先到这里吧,如果你还想了解更多的设计模式,可以关注我的简书,我会和大家一起了解更多的设计模式。
转载请请注明出处:https://www.jianshu.com/p/59bd39503c3e

上一篇下一篇

猜你喜欢

热点阅读