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