1. 内存分配方式 1.1 内存分配的几种方式 (1) 从静态存储区域分配。 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 (2) 在栈上创建 ...
分类:
其他好文 时间:
2016-10-04 01:38:30
阅读次数:
313
饿汉模式: class Single{ private staitc final Single s= new Single(); private Single(){} public static Single getSingle(){ return s; } } 懒汉模式: class Single ...
分类:
其他好文 时间:
2016-10-01 19:51:52
阅读次数:
239
单例模式:全局唯一实例,提供一个很容易获取这个实例的接口线程安全的单例:懒汉模式(LazyLoading):第一次获取对象时才创建对象classSingleton
{
public:
//获取唯一实例的接口函数
staticSingleton*GetInstance()
{
//双重检查,提高效率,避免高并发场景下每次获取..
分类:
编程语言 时间:
2016-09-30 07:54:55
阅读次数:
174
1. 饿汉模式 public class SingleInstance { private static final SingleIntance mInstance = new SingleIntance(); private SingleIntance(){ } public static Sin ...
分类:
编程语言 时间:
2016-09-29 15:32:59
阅读次数:
152
此程序输出的结果为: 实例化Singleton实例化Singleton 说明此时实例化了两个Singleton,线程不安全! 2.在上面做一点改动 3.饿汉模式 4.饿汉模式 5.静态内部类 ...
分类:
其他好文 时间:
2016-09-18 19:34:12
阅读次数:
129
1.内存分配方式 内存分配方式有三种: [1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 [2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置 ...
分类:
其他好文 时间:
2016-09-17 00:22:40
阅读次数:
194
一、懒汉模式:即第一次调用该类实例的时候才产生一个新的该类实例,并在以后仅返回此实例。 需要用锁,来保证其线程安全性:原因:多个线程可能进入判断是否已经存在实例的if语句,从而non thread safety. 使用double-check来保证thread safety.但是如果处理大量数据时, ...
分类:
编程语言 时间:
2016-09-16 19:39:09
阅读次数:
180
java设计模式之单例模式 什么叫单例模式(实例有且只有一个)/*单例模式Singleton应用场合:有些对象只需要一个实例就够了作用:保证整个应用程序中某个实例有且只有一个类型:懒汉模式 饿汉模式*/ 饿汉模式 public class Singleton{ //1、将构造方法私有化,不允许外部直 ...
分类:
其他好文 时间:
2016-09-16 11:21:56
阅读次数:
152
1.单例模式分为饿汉模式和懒汉模式; 饿汉式: public class Singleton{ private static Singleton singleton = new Singleton (); private Singleton (){} public static Singleton ...
分类:
其他好文 时间:
2016-09-12 18:45:34
阅读次数:
90
一. 懒汉模式-线程不安全 问题1: 为什么单例模式的实例要设置为静态的?从语义上讲,类的静态成员变量是所有对象共享的,而单例模式就是为了让该类所有实例共享同一个对象。从语法上讲,常见的单例模式都是通过一个静态方法返回其单例,而静态方法的内部不能直接使用非静态变量。问题2:为什么getInstanc ...
分类:
其他好文 时间:
2016-09-11 10:20:08
阅读次数:
115