论坛
Ai合集
开源相关
教程
论坛
Ai合集
开源相关
教程
游客
注册
登录
DesignPattern Java 23种设计模式全归纳
1. 观察者模式
2. 工厂模式
1、静态工厂模式
2、简单工厂模式(店里买肉夹馍)
3、工厂方法模式(开分店)
4、抽象工厂模式(使用官方提供的原料)
3. 单例设计模式
4. 策略模式
5. 适配器模式
6. 命令模式
7. 装饰者模式
8. 外观模式
9. 模板方法模式
10. 状态模式
11. 建造者模式
12. 原型模式
13. 享元模式
14. 代理模式
15. 桥接模式
16. 组合模式
17. 迭代器模式
18. 中介者模式
19. 备忘录模式
20. 解释器模式
21. 责任链模式
22. 访问者模式
wiki.1024.pm IT论坛
-
+
首页
3. 单例设计模式
### 3. 单例设计模式 > 单例模式主要是为了避免因为创建了多个实例造成资源的浪费,且多个实例由于多次调用容易导致结果出现错误,而**使用单例模式能够保证整个应用中有且只有一个实例**。 - 定义:只需要三步就可以保证对象的唯一性 - (1) 不允许其他程序用new对象 - (2) 在该类中创建对象 - (3) 对外提供一个可以让其他程序获取该对象的方法 - 对比定义: - (1) 私有化该类的构造函数 - (2) 通过new在本类中创建一个本类对象 - (3) 定义一个公有的方法,将在该类中所创建的对象返回 - 饿汉式[可用]:[SingletonEHan.java](https://github.com/youlookwhat/DesignPattern/blob/master/app/src/main/java/com/example/jingbin/designpattern/singleton/ehan/SingletonEHan.java) - 含懒汉式[双重校验锁 推荐用]:[SingletonLanHan.java](https://github.com/youlookwhat/DesignPattern/blob/master/app/src/main/java/com/example/jingbin/designpattern/singleton/lanhan/SingletonLanHan.java) ```java private SingletonLanHan() {} private static SingletonLanHan singletonLanHanFour; public static SingletonLanHan getSingletonLanHanFour() { if (singletonLanHanFour == null) { synchronized (SingletonLanHan.class) { if (singletonLanHanFour == null) { singletonLanHanFour = new SingletonLanHan(); } } } return singletonLanHanFour; } ``` - 内部类[推荐用]:[SingletonIn.java](https://github.com/youlookwhat/DesignPattern/blob/master/app/src/main/java/com/example/jingbin/designpattern/singleton/inclass/SingletonIn.java) - 枚举[推荐用]:[SingletonEnum.java](https://github.com/youlookwhat/DesignPattern/blob/master/app/src/main/java/com/example/jingbin/designpattern/singleton/enums/SingletonEnum.java)
1024wiki
2026年8月11日 13:35
转发
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
分享
链接
类型
密码
更新密码
有效期
Markdown文件
Word文件
PDF文档(打印)