单例设计模式

128 阅读1分钟

单例设计模式:

设计模式:设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。

常见有23中设计模式:单例设计模式,工厂设计模式,代理设计模式,观察者设计模式,装饰设计模式......

单例设计模式:在整个项目中某一个类的对象只能创建一个。

实现方式: 懒汉式 VS 饿汉试

懒汉式和饿汉式的区别

  懒汉式:1.线程不安全的。2.延迟了对象的创建时机,一定程度上节省了内存的开销(懒加载)。
  饿汉式:1.线程是安全的

饿汉式:

class Bank{
//1.私有化构造器
private Bank(){}
//2.创建一个该类的对象,并使用static修饰
private static Bank bank=new Bank();
//3.提供一个公共的方法,用来返回对象,且该方法必须是静态方法(可以通过类名调用该方法)
public static Bank getInstance(){
    return bank;
   }
}

懒汉式:

class Computer1{
//1.私有化构造器
private Computer1(){}
//2.提供一个该类的对象的声明
private static Computer1 computer1=null;
//3.提供一个公共的方法,并返回对象
public static Computer1 getInstance(){
//4.创建对象
    if(computer1==null){
        computer1=new Computer1();
    }
    return computer1;
  }
}

public class SingletonTest {
public static void main(String[] args) {
    System.out.println(Bank.getInstance());
    System.out.println(Bank.getInstance());
    System.out.println(Bank.getInstance());
    System.out.println(Bank.getInstance());
  }
}