设计模式-单例
来源:互联网 发布:python api接口开发 编辑:程序博客网 时间:2024/06/08 10:03
/**
* 这是最简单的一直实现方式,它的不足之处是无法对instance做延迟加载
*/
public class Singleton1 {
private static Singleton1 instance = new Singleton1();
private Singleton1(){
System.out.println("Singleton1 is create");
}
public static Singleton1 getInstance(){
return instance;
}
}
/**
*这种方式实现了延迟加载,但是在多并发环境中同步对性能有影响
*/
public class Singleton2 {
private static Singleton2 instance = null;
private Singleton2(){
System.out.println("Singleton2 is create");
}
public static synchronized Singleton2 getInstance(){
if(instance == null){
instance = new Singleton2();
}
return instance;
}
}
/**
*使用内部类的方式实现单例,既可以做到延迟加载,也不必担心使用同步影响性能,是比较完善的实现方式。
*/
public class Singleton3 {
private Singleton3(){
System.out.println("Singleton3 is create");
}
public static Singleton3 getInstance(){
return SingletonHolder.instance;
}
private static class SingletonHolder{
private static Singleton3 instance = new Singleton3();
}
}
- 设计模式--单例
- 单例设计模式
- 设计模式----单例
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 设计模式-单例
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- hive 备忘1
- Linux书单
- js操作DOM节点
- B. Help Chef Gerasim
- unity 与objective-c交互
- 设计模式-单例
- iphone 目录大全
- 26本 Ruby/Rails 相关英文图书的简评
- java发送Cookies登陆信息
- SQLServer 2000 升级到 SQLServer 2008 性能之需要注意的地方之一
- JavaMail获取邮件内容
- Eclipse里编写第一个Hadoop程序
- 诡异的楼梯 hdu 1180
- 使用Nexus管理maven仓库,setting文件理解