单例模式
2016-05-19 14:37
162 查看
单例模式创建过程:
创建一个类;
在该类下创建可用的实例,有且仅能自己类创建;
该实例必须能提供给其他类使用。
懒汉式
private static class1 instance=null;
private class1(){};//对单例模式初始化,每次返回第一次创建的构造实例;
public static class1 getInstace(){
if (instance==null)
return new class1();
else
return instace;}//静态工厂
这种方法不安全,线程A,B同时实例化时发生错误;
饿汉式;
public class SimpleInstance2 {
private static final SimpleInstance2 instance = new SimpleInstance2();
private SimpleInstance2(){};
public static SimpleInstance2 getInstance(){
return instance;
}
}
lose some system resource;
单例模式自己创建好实例,不能被其他类创建,但是要提供给其他类实现;
创建一个类;
在该类下创建可用的实例,有且仅能自己类创建;
该实例必须能提供给其他类使用。
懒汉式
private static class1 instance=null;
private class1(){};//对单例模式初始化,每次返回第一次创建的构造实例;
public static class1 getInstace(){
if (instance==null)
return new class1();
else
return instace;}//静态工厂
这种方法不安全,线程A,B同时实例化时发生错误;
饿汉式;
public class SimpleInstance2 {
private static final SimpleInstance2 instance = new SimpleInstance2();
private SimpleInstance2(){};
public static SimpleInstance2 getInstance(){
return instance;
}
}
lose some system resource;
单例模式自己创建好实例,不能被其他类创建,但是要提供给其他类实现;
相关文章推荐
- 给img添加类名可以动态切换图片
- Android Studio导入jar包
- 由C++的泛型句柄类思考OpenCV的Ptr模板类
- Java泛型
- Ext JS 6开发实例(一)
- BOX2D 自然的旋转到一个指定角度
- 正则表达式
- BOX2D 自然的旋转到一个指定角度
- 重新加载tableView指定section的数据
- Jquery-animateNumber数字动画插件
- 【SSH网上商城项目实战22】获取银行图标以及支付页面的显示
- Solr理解Analyzers, Tokenizers, and Filters.
- iOS9 beta 请求出现App Transport Security has blocked a cleartext HTTP (http://)
- Redis相关命令
- Swift AFNetworking 使用实例
- c++ ADO连接ACESS 2007 数据库
- RabbitMQ在分布式系统的应用
- Static 的作用
- mysql时间格式化
- (未完成)C++ 向基类的构造函数传递参数