java 单例设计模式(懒汉与饿汉)

1.单例设计模式的作用:
单例模式是一种常用的软件设计模式,通过单例模式可以保证系统中,应用该模式的这个类只有一个实例 ***(一个类一个对象实例)***,否则按照正常类来可以创建多个对象.

2.单例设计模式实现步骤:

  • 将构造方法私有化,使其不能在类的外部通过new关键字实例化该对象.
  • 在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型的成员变量
  • 定义一个静态方法返回这个唯一对象

根据实例化对象的时机单例设计模式分为以下两种:

  1. 饿汉单例设计模式:在使用类的时候已经将对象创建完毕,不管以后会不会使用该实例对象.
public class Singleton {
   // 1.将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。
   private Singleton() {}

   // 2.在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型的成员变量。
   private static final Singleton instance = new Singleton();
   
   // 3.定义一个静态方法返回这个唯一对象。
   public static Singleton getInstance() {
       return instance;
   }
}
  1. 懒汉单例设计模式:调用getInstance()方法时实例才被创建,先不着急实列化出对象,等需要时才实列化对象.
public class Singleton {

   // 2.在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型的成员变量。
   private static Singleton instance;
   
   // 1.将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。
   private Singleton() {}
   
   // 3.定义一个静态方法返回这个唯一对象。要用的时候才例化出对象
   public static Singleton getInstance() {
       if(instance == null) {
           instance = new Singleton();
       }
       return instance;
   }
}
上一篇:未设置MySQL REPEATABLE-READ Workbench事务级别


下一篇:mysql – 拒绝访问用户’root’@’localhost'(使用密码:YES) – 没有权限?