来源:互联网 更新时间:2026-07-06 07:26
聊到Ja va单例模式,大家可能都不陌生。饿汉式、懒汉式、双重检测锁、静态内部类,还有枚举——实现方式可谓五花八门。不过今天咱们重点聊聊枚举方式,这玩意儿在《Effective Ja va》里也被强烈推荐过,确实有它的独到之处。

public interface MySingleton {
void doSomething();
}
public enum Singleton implements MySingleton {
INSTANCE {
@Override
public void doSomething() {
System.out.println("执行方法。。。");
}
}
}
public class Test {
public static void main(String[] args) {
Singleton.INSTANCE.doSomething();
}
}
这就是枚举实现单例最基础的模样。干净、简单,没有花里胡哨的锁和判断。
枚举单例最大的优势——天生线程安全,而且绝对防止反射和序列化破坏。你不需要自己写synchronized,也不需要操心反序列化时重新创建对象。Ja va虚拟机从底层就保证了枚举实例的唯一性,这比那些靠代码硬防的方式靠谱得多。
1. 饿汉式线程安全,调用效率高,但不能延迟加载。
2. 懒汉式线程安全,调用效率不高,能延迟加载。
3. 双重检测锁式由于JVM底层内部模型原因,偶尔会出问题。不建议使用。
4. 静态内部类式线程安全,资源利用率高,可以延时加载。
5. 枚举单例线程安全,调用效率高,但不能延迟加载。
没有银弹,得看场景:
以上就是对枚举单例的一点梳理。实际项目中,选哪种方式根据自己的资源需求和代码风格来定就好。
电视剧《小欢喜》剧情介绍
俄罗斯最大yandex入口外贸日报直达链接
二次元男生网名可爱(精选100个)
美好的简约网名男生(精选100个)
腾讯元宝怎么用来分析股票基金的基本面信息?
盖乐世社区怎么删除帖子?盖乐世社区个人发布内容撤回步骤
欧易OKX官方网站直达入口 2026欧易官方App安卓版v7.1.0下载安装
免费观看国外短视频的app有哪些 观看国外短视频的软件下载
wallpaper壁纸声音怎么开启
问题:CIA币好不?Cia Protocol币今日上线:价格预测、代币经济学和未来潜力
新浪人工智能热点小时报丨2026年06月20日02时_今日实时人工智能热点速递
国际贵金属走低,现货黄金价格跌0.49%
倒数日怎么注册 倒数日账号注册教程
短剧《嫡女她是山大王》剧情介绍
Bubbly无法连接服务器修复方法
滴滴顺风车新规上线:车主分为四挡 有人不能接50公里长途订单
本田CR-V支持哪些手机互联功能
玉米名字网名大全男生(精选100个)
失落城堡2打完魔王后如何继续玩
短剧《退休金断供,女儿女婿慌了》剧情介绍
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc