栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程 ...
分类:
其他好文 时间:
2018-04-12 23:33:09
阅读次数:
241
两个判断的位置 第一个为了日后获取实例的线程准备 第二个为了刚刚获得锁的线程准备,如果没有这个,将会有同步问题。 输出结果: ...
分类:
其他好文 时间:
2018-04-06 22:35:20
阅读次数:
177
保证内存中只有一个实例 1,不能被new? ==> 私有构造方法 或者 abstract 类(不能生成对象实例)2,不能被new,那如何产生自己的示例给调用者? ==> static方法3,如果是并发的第一次被调用,那又怎样处理? ==> 同步锁 懒汉模式写法 以上写法比较累赘把 饿汉模式写法 这种 ...
分类:
其他好文 时间:
2018-03-18 17:15:19
阅读次数:
154
单例模式的要素: 1.私有的静态的实例对象 2.私有的构造函数(保证在该类外部,无法通过new的方式来创建对象实例) 3.公有的、静态的、访问该实例对象的方法 1.饿汉模式: 优点:线程安全、绝对单例. 缺点:在多实例或者有其他静态方法时,在启动时没有使用它的时候就已经加载好了,浪费内存。 2.懒汉 ...
分类:
编程语言 时间:
2018-03-05 20:38:00
阅读次数:
306
1,单例模式分:饿汉模式和懒汉模式。 饿汉模式:在加载类的时候就自动创建 懒汉模式:在加载类的时候只声明,只有在调用的时候才创建。 单利模式Singleton 应用场合:有些对象只需要一个就够了,如:皇帝,老婆 作用:保证某个应用程序中某个实例有且只有一个 类型:饿汉模式,懒汉模式 区别:饿汉模式的 ...
分类:
其他好文 时间:
2018-02-28 14:04:20
阅读次数:
179
单列模式 一、单列模式有:懒汉模式、饿汉模式、双重锁模式 1、懒汉模式:在第一次请求的时候才创建实例,并且第一次创建后就不能再创建该实例 2、饿汉模式:在类加载的时候就创建实例 3、双重锁模式:双重锁模式其实就是懒汉模式的双重锁模式,也是三种模式中效率最高的模式 二、创建单列模式的步骤: 1、创建一 ...
分类:
其他好文 时间:
2018-02-11 18:13:04
阅读次数:
129
1.恶汉模式 所谓恶汉模式,即类在加载的时候就完成了实例化(类在初始化时就创建了对象),避免线程同步问题。 实现原理:创建静态实例,对外提供静态的方法 2.懒汉模式 ...
分类:
其他好文 时间:
2018-02-06 20:37:27
阅读次数:
97
单例模式 1.饿汉模式:在类被加载的时候创建实例(线程安全的) 2.懒汉模式:在方法被运行的时候创建实例(线程不安全的) 解决方法:通过双检验 饿汉模式: 懒汉模式: 解决方法1(慢) 解决方法2(慢) 解决方法3(推荐) 原因:如果实例已经存在,就不存在线程安全的问题,可以直接获取实例,减少了加锁 ...
分类:
编程语言 时间:
2018-01-13 14:22:03
阅读次数:
150