单例设计模式
单例设计模式:
(1)饿汉式:
实现步骤:
① 私有化类的构造器;
② 内部创建类的对象;
③ 提供公共的静态方法,返回类的对象;
④ 要求此对象也必须声明为静态的。
例如:
class Bank{
//私有化类的构造器
private Bank(){}
//内部创建类的对象,要求此对象也必须声明为静态的
private static Bank instance = new Bank();
//提供公共的静态方法,返回类的对象
public static Bank getInstance(){
return instance;
}
}
(2)懒汉式:
实现步骤:
① 私有化类的构造器;
② 声明当前类的对象,不初始化;
③ 提供公共的静态方法,返回类的对象;
④ 要求此对象也必须声明为静态的。
例如:
class Bank{
//私有化类的构造器
private Bank(){}
//声明当前类的对象,不初始化,要求此对象也必须声明为静态的
private static Bank instance = null;
//提供公共的静态方法,返回类的对象
public static Bank getInstance(){
if(instance == null){
instance = new Bank();
}
return instance;
}
}
(3)饿汉式和懒汉式的区别:
饿汉式:
优点:线程安全。
缺点:对象加载时间过长。
懒汉式:
优点:延迟对象的创建。
缺点:线程不安全。
(4)应用场景:网站的计数器、应用程序的日志应用、数据库连接池、项目中读取配置文件的类、Application、Windows中的任务管理器、Windows的回收站等。
本文来自博客园,作者:萧若風,转载请注明原文链接:https://www.cnblogs.com/XiaoRuoFeng/p/16402136.html

浙公网安备 33010602011771号