单例设计模式


单例设计模式

  • 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例

  • 如何实现?

    • 饿汉式:

      • 坏处:对象加载时间过长

      • 好处:饿汉式是线程安全的

    • 懒汉式:

      • 好处:延迟对象的创建
      • 目前写法的坏处:线程不安全
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Singletion{
public static void main(String[] args){

}
}

//饿汉式
class Bank{
//1.私有化类的构造器
private Bank(){

}

//2.内部创建类的对象
//4.要求此对象也必须声明为静态的
private static Bank instance = new Bank();

//3.提供公共的静态方法,返回类的对象
public static Bank getInstance(){
return instance;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Singletion{
public static void main(String[] args){

}
}

//懒汉式
class Bank{
//1.私有化类的构造器
private Bank(){

}

//2.声明当前类对象,没有初始化
//4.此对象也必须声明为static的
private static Bank instance = null;

//3.声明public、static的返回当前类对象的方法
public static Bank getInstance(){
if(instance == null){
instance = new Order();
}
return instance;
}
}
  • 单例模式的优点:减少了系统性能的开销
  • 例举:java.lang.Runtime
  • 应用场景:
    • 网站的计数器
    • 应用程序的日志应用
    • 数据库连接池
    • 读取配置文件的类
    • Application也是单例的典型应用
    • windows的Task Manager(任务管理器)
    • windows的Recycle Bin(回收站)

Author: Sans Zhu
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Sans Zhu !
  TOC