在开发中经常会用到单例设计模式,目的就是为了在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放。下面我们来看看单例的概念、用途、如何创建,以便加深理解。 作用 在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象 ...
分类:
移动开发 时间:
2016-06-17 11:00:04
阅读次数:
258
1.导演(Director) 导演类(v3.0之前是CCDirector)用于管理场景对象,采用单例设计模式,在整个工程中只有一个实例对象。由于是单例模式,能够保存一致的配置信息,便于管理场景对象。用getInstance()方法获取Director的实例。导演对象的职责如下: 访问和改变场景 访问 ...
分类:
编程语言 时间:
2016-06-12 21:55:27
阅读次数:
274
JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制
JAVA之旅,一路有你,加油!
一.静态同步函数的锁是class对象
我们在上节验证了同步函数的锁是this,但是对于静态同步函数,你又知道多少呢?
我们做一个这样的小实验,我们给show方法加上static关键字去修饰
private stat...
分类:
编程语言 时间:
2016-06-12 03:19:39
阅读次数:
244
本例中通过将构造函数私有化的方式将实例化对象的代码放到类内部的静态函数中,从而实现单例设计模式。 ...
分类:
编程语言 时间:
2016-06-09 09:42:36
阅读次数:
223
在设计模式系列(一)单例模式 中详细介绍了单例设计模式,下面一起来看一下原型模式。
一、概述
原型模式是一种创建型设计模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所称的原型,这个原型是可定制的。
原型模式多用于创建复杂的或者耗时的实例, 因为这种情况下,复制一个已经存在的实例可以使程序运行更高效,或者创建值相等,只是命名不一样的同类数据。
二、...
分类:
其他好文 时间:
2016-06-08 01:46:06
阅读次数:
276
JAVA之旅(六)——
java也越来越深入了,大家加油吧!咱们一步步来
一.单例设计模式
什么是设计模式?
JAVA当中有23种设计模式,解决某一问题最有效的方法单例设计模式
解决一个类在内存中只存在一个对象
想要保证对象唯一该怎么做》1.为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象
2.还为了让其他程序访问到该类对象,只好在本类中自定义一个对象
3.为了...
分类:
编程语言 时间:
2016-05-27 12:40:49
阅读次数:
225
1.导演(Director) 导演类(v3.0之前是CCDirector)用于管理场景对象,采用单例设计模式,在整个工程中只有一个实例对象。由于是单例模式,能够保存一致的配置信息,便于管理场景对象。用getInstance()方法获取Director的实例。导演对象的职责如下: 1.访问和改变场景 ...
分类:
编程语言 时间:
2016-05-22 16:38:09
阅读次数:
191
前两天写了设计模式总纲,今天就来讲讲我们在工程代码中最最最常用的设计模式了——单例设计模式,这个模式在工程代码上的出现率几乎为99.99999%,但是虽然很常用,但是用的好的人却不多,今天我们就来深入的说一说单例设计模式。 在学习一项新的知识之前,我们都要向自己提出三个问题,为什么要用这个知识,这个 ...
分类:
其他好文 时间:
2016-05-19 01:24:48
阅读次数:
234
1、恶汉:因为加载类的时候就创建实例,所以线程安全(多个ClassLoader存在时例外)。缺点是不能延时加载。2、懒汉:需要加锁才能实现多线程同步,但是效率会降低。优点是延时加载。3、双重校验锁:麻烦,在当前Java内存模型中不一定都管用,某些平台和编译器甚至是错误的,因为sb = new Sin ...
分类:
编程语言 时间:
2016-05-13 17:03:43
阅读次数:
145
在标准的23个设计模式中,单例设计模式在应用中是比较常见的。但在常规的该模式教学资料介绍中,多数并没有结合多线程技术作为参考,这就造成在使用多线程技术的单例模式时会出现一些意想不到的情况,这样的代码如果在生产环境中出现异常,有可能造成灾难性的后果。
1、立即加载/“饿汉模式”
什么是立即加载?立即加载也称为“饿汉模式”,就是使用类的时候已经将对象创建完毕,常见的实现办法就是直接...
分类:
编程语言 时间:
2016-05-12 21:21:59
阅读次数:
218