1.什么是单例设计模式?
2.单例设计模式在什么情况下使用?
使用场景:由于单例模式只生成一个实例,减少了系统的性能开销(单例角度考虑的).当一个对象的创建需要比较多的资源的时候(如读取数据,产生其他依赖对象),我们就可以通过应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决。
实例:①,网站的计数器。②,应用程序的日志应用。③,数据库连接池。④,Application
3.单例设计模式的作用?
作用:类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且只提供一个取得其对象实例的方法。
实现步骤:①,将构造器的访问权限设置为private。(这样在类外就不能通过new关键字创建对象)②,内部类创建该类的对象。③,要求此对象也声明为静态的。 ④,创建静态方法,让类外可以通过静态的方式来返回访问这个类内对象。(注意,静态方法只能访问静态成员变量)
4.代码实现
饿汉式:加载这个类的时候就会创建单例对象
方式1:
class Bank{
//1.私化类的构造器
private Bank(){
}
//2.内部创建类的对象
//4.要求此对象也必须声明为静态的
private static Bank instance = new Bank();
//3.提供公共的静态的方法,返回类的对象
public static Bank getInstance(){
return instance;
}
}
Bank singleton1 = new Bank();
Bank