设计模式COF23【单例模式】
1.核心作用
保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。
2.常见应用场景
- windos任务管理器
- 数据库连接池的设计
- 操作系统的文件系统
- Servlet 中的Application
3.单例模式的优点
4.常见的单例模式
(1)饿汉式实现
代码
package java1;
/**
* 饿汉式单例模式
*/
public class HungrySingleton {
//类初始化时候,立即加载这个对象加载类时,天然的是线程安全的
private static HungrySingleton instance = new HungrySingleton();
//私有化构造器
private HungrySingleton(){
}
//方法没有同步,调用效率高
public static HungrySingleton getInstance(){
return instance;
}
}
(2)懒汉式实现
代码
package java1;
/**
* 懒汉式单例模式
*/
public class LazySingleton {
//类初始化时,不初始化这个对象(延时加载,真正用的时候创建)
private static LazySingleton instance;
//私有化
private LazySingleton() {
}
//方法同步,调用效率低
public static synchronized LazySingleton getInstance() {
if (null == instance) {
instance = new LazySingleton();
}
return instance;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现