三种单例模式
来源:互联网 发布:现在流行的网络用词 编辑:程序博客网 时间:2024/05/24 08:32
/** * 一、懒汉单例模式 * @author xia * @优点:单例只有在使用的时候才会初始化化,在一定程度上节约了资源。 * @缺点:第一次加载时需要及时的进行初始化,反应稍微慢,最大的问题是每次调用getInstance 都是同步,造成了不必要的开销,一般不建议使用。 */public class AccountModule1 { private static AccountModule1 module; private AccountModule1(){} public static synchronized AccountModule1 getmodule(){ if(module==null){ module = new AccountModule1(); } return module; }}
/** * 二、双重检查方式 * @author xia * @优点:既能够在需要的时候初始化单例,又能够保证线程安全。 并且单例对象初始化后调用getInstance不进行同步锁。 * @延迟加载方式 */public class AccountModule2 { private static AccountModule2 module = null; private AccountModule2(){} public static AccountModule2 getmodule(){ if(module==null){ synchronized (AccountModule2.class) { if(module==null){ module = new AccountModule2(); } } } return module; }}
/** * 三、饿汉单例模式 * @author xia * @优点:单例只有在使用的时候才会初始化化,在一定程度上节约了资源。 * @预先加载方式 */public class AccountModule3 { private static AccountModule3 module = new AccountModule3(); private AccountModule3(){} public static AccountModule3 getmodule(){ return module; }}
2 0
- 三种单例模式
- 【Java设计模式】三种单例模式
- 三种单例模式浅析
- 【iOS】三种单例模式写法
- 模式
- 模式
- 模式
- 模式
- 模式
- 模式
- 模式
- 模式
- 模式
- 模式
- 模式
- 模式
- 模式
- 模式
- linux系统644、755、777权限详解
- kafka consumer需要kafka的ip和主机名
- 伪元素(2)-理解伪元素 :before 和 :after
- swustoj---251邮票
- 跳跃的舞者,舞蹈链(Dancing Links)算法——求解精确覆盖问题
- 三种单例模式
- Angular----入门
- 企业网站的可信度高低直接影响着网站的效果
- 《Windows程序设计》读书笔四 文本输出
- Tomcat The JRE_HOME environment variable is not defined correctly
- 字节输出流
- 机器学习--线性回归
- 计算重要天文坐标系之间的转换(C#)
- iOS开发-自定义专属相册 (详细)| 干货