锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

单例设计模式

时间:2023-02-21 22:00:00 单粒连接器

目录

    • 饿汉式(先创对象)
    • 懒汉式(后创对象)
    • 二者的区别
    • 单例模式的应用场景
    • 小结

单例设计模式:对于某一类,只能有一个对象实例

饿汉式(先创对象)

1.私有化此类结构:避免在类外创建对象

2.由于结构器的私有化,这类对象是在这类对象内部创建的

3、声明publicstatic返回此类对象的方法,让外部类调用这个对象

4.因为这种公共方法不能在外建,这种公共方法必须是静态的,而不是实例的。由于这种公共方法是静态的,非静态结构不能在该方法中使用,因此返回此类对象需要是static

public class Untitled { 
          public static void main(String[] args) { 
           Test t1 = Test.m();   Test t2 = Test.m();   System.out.println(t1 == t2);   //true  } } class Test{ 
          //  private Test(){ 
           System.out.println("a");  }  //2.创建此类对象  //5,对象必须是静态的  private static Test t = new Test();  //3.提供返回对象的方法  //4.方法必须是静态的,而不是实例  public static Test m(){ 
           return t;  } }  

懒汉式(后创对象)

1.私有化这种结构

2.声明目前的对象没有初始化

3.提供公共方法返回此类对象

class Untitled { 
          public static void main(String[] args) { 
        
		Test t1 = Test.m();
		Test t2 = Test.m();
		System.out.println(t1 == t2);
	}
}
class Test{ 
        
	//1/私有化构造器
	private Test(){ 
        
		System.out.println("a");
	}
	
	//声明 static 对象,但不创建
	private static Test t = null;
	
	//提供 public、static 的返回对象的方法
	public static Test m(){ 
        
		if(t == null)
			t = new Test();
		return t;
	}
}

二者的区别

  1. 饿汉式:
    1. 劣:对象加载时间过长
    2. 优:线程安全
  2. 懒汉式:
    1. 劣:线程不安全
    2. 优:延迟对象的创建

单例模式的应用场景

网站的计数器

应用程序的日志应用

数据库连接池

读取配置文件的类

Application

Windows的 Task Manager(任务管理器)

Windows的 Recycle Bin(回收站)

小结

饿汉式代码

class Test{ 
        
	private Test(){ 
        
	}
	private static Test t = new Test();
	public static Test m(){ 
        
		return t;
	}
}
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章