《设计模式》之单例模式
一、饿汉式
类加载时就初始化创建单例对象,线程安全
不管是否使用,都创建对象可能会浪费内存。
public class HungrySingleton {
private HungrySinglenton(){}
private static final HungrySingleton hs = new HungrySingleton();
public static HungrySingleton getInstance(){
return hs;
}
}
二、懒汉式
在外部调用时才会加载,加锁保证线程安全,但效率低。
***三、双重检查锁
四、静态内部类
同时解决
饿汉式的内存浪费问题
懒汉式的线程安全问题
public class StaticSingleton {
private StaticSingleton(){}
public static StaticSingleton getInstance() {
return StaticClass.instance;
}
private static class StaticClass {
private static final StaticSingleton instance = new StaticSingleton();
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 分享4款.NET开源、免费、实用的商城系统
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库