当前位置:网站首页>枚举类实现单例模式
枚举类实现单例模式
2022-07-27 05:01:00 【圆师傅】
1. 单例模式
单例模式相信大家都不陌生,这里提供一个使用枚举类实现单例模式的例子。
1.1 饿汉式的单例模式
public class YYSingletonDemo {
private YYSingleton() {
}
private enum YYSingleton {
INSTANCE;
}
public static YYSingleton getInstance() {
return YYSingleton.INSTANCE;
}
}
1.2 懒汉式单例模式
public class YYSingleton {
private YYSingleton() {
}
private enum YYSingletonHolder {
INSTANCE;
private YYSingleton instance = null;
private YYSingleton getYYSingleton() {
instance = new YYSingleton();
return instance;
}
}
public static YYSingleton getInstance() {
return YYSingletonHolder.INSTANCE.instance;
}
}
2.为什么使用枚举类是线程安全的单例模式?
由于枚举类的特殊性,保证了枚举类型的唯一性。由于枚举类会在编译时期进行加载,因此属于是饿汉式的单例模式。但是如果把它当作一个成员变量,只有在使用时才会加载,属于懒汉式单例模式。
边栏推荐
猜你喜欢
随机推荐
如何快速有效解决数据库连接失败问题
JVM上篇:内存与垃圾回收篇十一--执行引擎
Demo of throttling function -- regular expression matching
Database connection pool & Druid usage
Gradio quickly builds ml/dl Web Services
B1031 查验身份证
Test basis 5
File dialog box
Machine learning overview
Interface and abstract class / method learning demo
2021 OWASP top 4: unsafe design
B1024 科学计数法
Acticiti中startProcessInstanceByKey方法在variable表中的如何存储
JDBC API 详解
文件处理(IO)
Create datasource using Druid connection pool
B1029 旧键盘
Another skill is to earn 30000 yuan a month+
Standard dialog qmessagebox
[acwing] solution to the 61st weekly match









