观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
观察者模式结构图如下:
举例:
气象系统有三个部分分别是气象站(获取实际气象数据的物理装置),WeatherData对象(用来追踪来自气象站的数据,并更新布告板)和布告板(显示目前天气状况给用户看)。Weather...
分类:
编程语言 时间:
2014-06-20 13:38:15
阅读次数:
236
字符串是字符,如“hello, world”或“"albatross”的有序集合。Swift字符串由String类型,这又代表字符类型的值的集合来表示。
Swift的字符串和字符类型提供了在代码中的文字工作快速,兼容Unicode的方式。该语法字符串创建和操纵轻便性和可读性,具有类似的语法C字符串。串级联很简单,只要用+运算符相加两个字符串,字符串和可变性是由管理一个常量或变量之间进行选择,就像...
分类:
其他好文 时间:
2014-06-20 13:37:30
阅读次数:
330
一、如果是每个线程都执行相同的代码,则可以使用同一个Runnable来实现共享public class MultiThreadShareData {
public static void main(String[] args) {
new Thread(new ShareData()).start();
new Thread(new ShareData()).start();
}
...
分类:
移动开发 时间:
2014-06-20 13:07:10
阅读次数:
260
在上一篇《Android多线程研究(5)——线程之间共享数据》中对线程之间的数据共享进行了学习和研究,这一篇我们来看看如何解决多个线程之间的数据隔离问题,什么是数据隔离呢?比如说我们现在开启了两个线程,这两个线程都要同时给同一个全局变量data赋值,各个线程操作它赋值后的变量数据,这里就需要用到隔离。先看一段代码:import java.util.Random;
public class Th...
分类:
移动开发 时间:
2014-06-20 11:25:58
阅读次数:
321
debug三天之后,在今天终于发现了自己开的两个线程(一个接收数据,一个处理数据)所处理的数据并不相等。用compare比较后发现数据有所偏差,处理线程的数据存成文件之后隔一段都要比接收线程少一点。少的频率跟线程之间的切换次数又有关系,这就让人直接怀疑是不是内存拷贝发生了错误,结果查了所有的语句都没发现问题,最后突然想到多线程在数据拷贝的过程中一旦遇到线程切换会导致不确定的因素发生,于是在线程拷贝...
分类:
编程语言 时间:
2014-06-20 11:10:41
阅读次数:
166
进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义...
分类:
系统相关 时间:
2014-06-20 10:43:26
阅读次数:
376
随着生活节奏的加快,社会的浮躁和功利,人与人之间有着太多分不清的是非真伪,以至于我们对“朋友”的称谓产生了畏惧。那么,真正的朋友究竟是什么样的,人的一生到底需要什么样的朋友呢?我认为,以下8种朋友是必不可少的。...
分类:
其他好文 时间:
2014-06-20 09:25:03
阅读次数:
175
我们看到三层架构的主要特点:UI调用BLL中类的方法,即UI知道BLL的方法,但不知道方法实现的细节,而BLL层并不知道UI的存在.同样BLL层调用DAL,而DAL也不知道BLL的存在。三者中任何一者发生变化都不会影响其他俩者的正常工作,只对变化者进行重新调整即可。三层把Entity实体类的实例作为参数来传递.
总之,表示层只提供软件系统与用户交互的接口;业务逻辑层是界面层和数据访问层之间的桥梁,负责数据处理和传递;数据访问层只负责数据的存取工作。...
分类:
其他好文 时间:
2014-06-07 16:29:14
阅读次数:
279
AOP里的说明,之间的关系
l Joinpoint:拦截点,如某个业务方法。
l Pointcut:Joinpoint的表达式,表示拦截哪些方法。一个Pointcut对应多个Joinpoint。
l Advice: 要切入的逻辑。
n Before Advice 在方法前切入。
n After Advice 在方法后切入,抛出异常时也会切入。
n After Returni...
分类:
其他好文 时间:
2014-06-07 14:46:04
阅读次数:
237
第一章 多线程
多线程和多进程之间的区别:
本质区别在于每个进程有他自己的变量的完备集,线程则共享相同的数据,这个听起来似乎有些危险,事实上也的确如此,你将会在本章后面的内容中看到这个问题,尽管如此,对于程序来说,共享的变量使线程之间的通信
比进程间的通信更加有效简单,而且,对于某些操作系统而言,线程比进程更加轻量级。创建和销毁单个线程比发起进程的开销要小很多。
线程优先级
在J...
分类:
编程语言 时间:
2014-06-07 14:03:00
阅读次数:
318