美文网首页
Java设计模式-单例设计模式

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

作者: 怪咖大蜀 | 来源:发表于2018-07-27 10:44 被阅读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

    相关文章

      网友评论

          本文标题:Java设计模式-单例设计模式

          本文链接:https://www.haomeiwen.com/subject/mzdwmftx.html