单例设计模式
单例模式:
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。
具体的代码实现:
饿汉式:
class Bank {
//饿汉式
//1.私有化的构造器
private Bank() {
}
//2.内部创建类的私有的对象
//4.对象也必须是是静态的
private static Bank instance = new Bank();
//3.提供一个公共的静态方法,返回类的对象
public static Bank getInstance() {
return instance;
}
}
懒汉式:
class Order {
//懒汉式
//1.私有化类的构造器
private Order() {
}
//2.声明类的私有的对象,但是不初始化
//4.此对象也必须是是静态的
private static Order instance = null;
//3.提供一个公共的静态的方法
public static Order getInstance() {
if (instance != null) {
instance = new Order();
}
return instance;
}
}
解决线程安全问题的懒汉式:
class Bank{
private Bank(){}
private static Bank instance = null;
public static Bank getInstance(){
//方式一:效率稍差
// synchronized (Bank.class) {
// if(instance == null){
// instance = new Bank();
// }
// return instance;
// }
//方式二:效率更高
if(instance == null){
synchronized (Bank.class) {
if(instance == null){
instance = new Bank();
}
}
}
return instance;
}
}
本文作者:hanhanz
本文链接:https://www.cnblogs.com/hanhanz/p/16502527.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步