首先,设计模式是我们程序员在软件开发过程中面临的一般问题的解决方案,通过学习设计模式可以使我们在编程时更加有条理性,同时培养我们写代码的思维能力,从而提高我们的工作效率。接下来就跟着博主的脚步往下走吧~
大多数程序员可能最先接触到的设计模式就是创建模式中的单例模式,单例模式是一种创建型设计模式,是用来创建对象的。
单例模式的核心是无论使用一个类方法多少次,都只产生一个该类对象,这样可以是系统的内存消耗减少一些。
现在回到主题,单例模式的四种实现方式
第一种:饿汉模式-----立即加载的单例模式(最基本的单例模式)
public class Singleton{//创建一个类
private Singleton(){}//这个类的构造器,在new时调用
private static Singleton sing = new Singleton();//一个静态的属性
public static Singleton getInstance(){//提供一个静态方法,返回当前对象
return sing;
}
}
饿汉模式的优缺点:
优点:没有加锁,有较高的执行效率,同时是线程安全的实例。
缺点:饿汉模式在类加载时会直接实例化单例对象,不管有没有使用到该单例对象,那么当我们new出多个对象但没有使用时,就会浪费内存空间。
第二种:懒汉模式--------延迟加载的单例模式
public class LazySingle