首页 > 代码库 > 单例模式
单例模式
单例模式说明:单例模式的三个要素
1.私有的构造方法,为了不让别人new 对象
2.私有的静态的实例对象
3.public static 类型的获取对象的方法
/**
* 饿汉式【推荐,因为不用考虑并发问题】
* 1.私有的构造方法,为了不让别人new 对象
* 2.私有的静态的实例对象
* 3.public static 类型的获取对象的方法
* @author lisheng90777
*
*/
public class Single {
private Single(){};
private static Single single = new Single();
public static Single getInstance(){
return single;
}
}
/**
* 懒汉式
* @author lisheng90777
*
*/
public class Single2 {
private Single2(){};
private static Single2 single = null;
public static Single2 getInstance(){
if(single == null){
synchronized (Single2.class) {//在这里加锁,而不在方法上加锁,是为了避免以后的对象访问该方法时都进行访问锁的操作,达到减少访问锁的操作 的目的
if(single == null){
single = new Single2();
}
}
}
return single;
}
}
单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。