目的:保证程序中该类的实例对象只有一个。 方法:使用静态对象。 要点:1.某个类只能有一个实例,2,它必须自行创建这个实例,3.它必须自行向整个系统提供这个实例。 实现方法:1.单例模式的类只提供私有的构造函数,2.类定义中含有一个该类的静态私有对象,3,该类提供一个静态公有的函数用于创建或获取该它 ...
分类:
其他好文 时间:
2016-05-11 12:48:50
阅读次数:
98
转载请注明出处:http://cantellow.iteye.com/blog/838473 第一种(懒汉,线程不安全): Java代码 public class Singleton { private static Singleton instance; private Singleton (){ ...
分类:
其他好文 时间:
2016-05-11 10:59:46
阅读次数:
186
Singleton.h /*专门用来保存单例代码 最后一行不要加 \ */// @interface#define singleton_interface(className) \+ (className *)shared##className;// @implementation#define s ...
分类:
其他好文 时间:
2016-05-10 12:48:13
阅读次数:
163
1.意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 2.动机 对一些类来说,只有一个实例是很重要的。让类自身负责保存它唯一的实例,这个类可以保证没有其他实例可以被创建(通过截取创建新对象的请求),并且它可以提供一个访问该实例的方法。 3.适用性 当类只能有一个实例而且客户可以从一个周所 ...
分类:
其他好文 时间:
2016-05-10 02:16:18
阅读次数:
109
Java的反射破坏单例的私有构造函数保护,最典型的就是Spring的Bean注入,我们可以通过改造私有构造函数来防止。 在Singleton中,我们只对外提供工厂方法(获取单例),而私有化构造函数,来防止外面多余的创建。 对于一般的外部调用来说,私有构造函数已经很安全了。 一般的外部调用,编译器会校 ...
分类:
其他好文 时间:
2016-05-09 15:44:06
阅读次数:
212
设计模式之Singleton(单态) 板桥里人 http://www.jdon.com 2002/05/07 定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。 还有, singleton ...
分类:
其他好文 时间:
2016-05-07 23:36:24
阅读次数:
171
创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:
1: 单例模式(Singleton Pattern)是保证一个类仅有一个实例,并提供一个访问它的全局访问点。
2: 工厂模式(Factory Method Pattern)的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。
3: 抽象工厂模式(Abstract Factory Pattern)的意图是提供一个创建一系列相关或者相互依赖的接口,而无需指定它们具体的类。
4: 建造者模式(Builder Pattern)的意图是将...
分类:
其他好文 时间:
2016-05-07 10:53:04
阅读次数:
206
单例模式有两种表现形式:饿汉式单例类
(类加载时直接初始化实例,所以饥饿)
实例代码:public class Singleton {
//在类加载时生成实例
private static Singleton instance = new Singleton();
//私有化构造函数
private Singleton(){}
//通过该方法获得实例引用...
分类:
其他好文 时间:
2016-05-07 09:22:53
阅读次数:
145
说明上其实很明白,支持多线程,防止重复创建,同时支持如果删除以后就不在创建,利用局部静态变量进行标记。挺通用,看来下次写个c11版本的 ...
分类:
其他好文 时间:
2016-05-05 08:22:13
阅读次数:
240
第二钟单例模式当系统压力增大,并发量增加时则可能在内存中出项多个实例,破坏了最初的预期。出现这种情况是因为如果一个线程A执行到singleton=new Singleton(),但是还没有获得对象(对象初始化是需要使时间的),第二个线程B也在执行,执行到(single==null)判断,那么线程B获 ...
分类:
其他好文 时间:
2016-05-04 16:59:44
阅读次数:
121