单例设计模式
采取一定的方法保证整个软件系统中对某个类只能存在一个对象实例。
设计思想:将要创建实例的类的构造器设置为私有的(private)这样,就不能用new操作符在外部产生新的对象,但在类的内部可以产生该类的对象,类的外部无法得到类的对象,只能通过静态方法以返回类的内部创建对象,静态方法只能访问类中静态的成员变量,所以类内部产生的类的对象的变量也得是静态的。
两种单例模式:饿汉模式和懒汉模式
饿汉模式: 一开始就new对象
1、创建类的私有构造器
2、new一个私有的 静态的 实例对象
3、创建一个公共的 静态的 返回值是 new对象的一个方法体
懒汉式:需要才创建对象
1、创建一个私有的构造器
2、声明一个私有的 静态的初始为空的对象
3、创建一个公共的 静态的 返回值为要创建的对象的方法,便于外部调用
4、判断声明的实例是否为空,若为空创建对象。
懒汉式VS饿汉式
懒汉式的好处:使用时创建对象,对象生命周期小
坏处: 线程不安全
饿汉式好处:线程安全
坏处:创建的对象,生命周期长,占用内存
单例模式用于:数据库连接池
Java runtime中...........