概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系 ...
分类:
编程语言 时间:
2016-11-12 14:18:13
阅读次数:
181
首先写个单例,懒汉模式: 写个测试类: 运行结果一直都是true,说明单线程下是没问题的,下面写个多线程来访问单例 使用多线程并发访问单例: 运行结果如下: [com.persagy.thread.SingleDemo@1bc4459, com.persagy.thread.SingleDemo@1 ...
分类:
编程语言 时间:
2016-11-11 19:25:32
阅读次数:
177
理解单例模式之前,先理解一下什么是模式。 所谓模式就是指解决一类问题的具体固定步骤。单例模式:保证一个类在内存中只存在一个对象的步骤。单例模式的种类: 1、饿汉单例模式。 2、懒汉单例模式。 3、登记式单例模式。(可以忽略,想了解可以自己查) 理解:首先它用的比较少,另外其实内部实现还是用的饿汉式单 ...
分类:
其他好文 时间:
2016-11-08 02:00:36
阅读次数:
154
运行期间有且仅有一个实例。(比较耗系统性能的时候用单例模式) 关键点:1,一个类只有一个实例,只提供私有的构造器2,它必须自行创建这个实例,定义了静态的该类的私有对象3,它必须自行向整个系统提供这个实例,提供了一个静态的public方法 (返回创建或获取本身的静态私有对象) 懒汉模式:(1,加同步锁 ...
分类:
其他好文 时间:
2016-11-02 23:37:07
阅读次数:
162
第一种(懒汉,线程不安全): 第二种(懒汉,线程安全): 第三种(饿汉): 第四种(饿汉,变种): 第五种(静态内部类): 第六种(枚举): 第七种(双重校验锁): ...
分类:
其他好文 时间:
2016-11-02 07:42:06
阅读次数:
188
俄汉式#include<iostream>
usingnamespacestd;
classA{
public:
staticA&getInstance(void){
returns_instance;
}
private:
A(intdata=0):m_data(data){}
A(Aconst&that);
intm_data;
staticAs_instance;
};
AA::s_instance(1234);
intmain(void){
A&a1=A::..
分类:
编程语言 时间:
2016-10-27 01:51:49
阅读次数:
213
什么是单例模式: 单例模式既只能在自己本类中创建有且唯一的一个实例(姑且不考虑映射的情况)通过方法将该实例对外公开 第一种:单例模式—懒汉式 既调用getInstance()方法返回实例之前判断有没有该实例如果没有就创建一个实例 如果有该实例则直接返回出去,代码如下: 第二种:单例模式-饿汉式 恶汉 ...
分类:
其他好文 时间:
2016-10-23 20:27:51
阅读次数:
131
单例模式应该是23种设计模式中最简单的一种模式了。它有以下几个要素: 私有的构造方法 指向自己实例的私有静态引用 以自己实例为返回值的静态的公有的方法 单例模式根据实例化对象时机的不同分为两种:一种是饿汉式单例,一种是懒汉式单例。饿汉式单例在单例类被加载时候,就实例化一个对象交给自己的引用;而懒汉式 ...
分类:
其他好文 时间:
2016-10-16 21:47:40
阅读次数:
212
设计模式分类比较多,这里先学习单例模式 单例模式:在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。分为饿汉式、赖汉式等 我们上下代码: 运行结果 饿汉式:truefalse第一次调用的时候实例化懒汉式:true 注意: ...
分类:
编程语言 时间:
2016-10-15 19:00:30
阅读次数:
193