我画了个简单的架构图来帮助说明:其实为发布订阅架构模式.生产者和消费者我们统一可理解为客户端,消息中间件可认为是服务端.生产者和消费者做为客户端要跟服务端交互,则先通过代理订阅服务端,订阅成功后即可跟服务端互通互联,此刻的连接通道为长连接.长连接的优势在于会将消息主动通知到客户端,避免客户端去做大量...
分类:
其他好文 时间:
2014-08-11 21:04:33
阅读次数:
634
在生产环境中,有时候我们会遇到这样的问题,就是去掉数据库中2列值相同的数据,并且留下一条语句,解决这个问题可以利用唯一联合索引创建测试表CREATETABLE`test03`(`id`INT(11),`uid`INT(11)DEFAULTNULL);INSERTINTOtest03(id,uid)VALUES(1,1),(1,2),(1,1),(1,2),(1,1);selec..
分类:
数据库 时间:
2014-08-11 18:14:43
阅读次数:
299
使用差异磁盘创建虚拟机的好处1.节省物理磁盘的空间2.快速的创建多个虚拟机生产环境中不建议使用,主要是在测试环境中使用,其使用过程中母盘需关闭,母盘挂了就完蛋了。其实这里的方法跟vmwareworkstation中的链接克隆是差不多的,在vmwareworkstation中我们为了在测试环境中..
分类:
其他好文 时间:
2014-08-11 18:13:43
阅读次数:
287
从下面的例子中可以看到,在生产数据库中对象的重新编译会导致library cache lock,所以应该尽量避免在业务高峰期编译对象。如果是package或过程中存在复杂的依赖关系就极易导致library cache lock的出现,所以在应用开发的过程中,也应该注意这方面的问题。
SQL> select * from v$version;
BANNER
--------------...
分类:
数据库 时间:
2014-08-11 11:57:52
阅读次数:
251
有三台机器,操作系统都是CentOS 6.3 64位:其中172.16.9.100,安装Nginx服务器;另外的两台172.16.9.101和172.16.9.102安装unicorn,作为RoR的应用服务器。在这里先保证ruby及rails已经在101和102两台机...
分类:
其他好文 时间:
2014-08-11 03:10:51
阅读次数:
343
接近三天的设计模式交流会在昨天圆满的落下了帷幕,而米老师也一直强调这次不是为了设计模式的学习,更重要的是针对我们思考问题的方式以及去怎样学习,那么我们到底三天到底学了什么呢?
1.善于抽象
就像建型中的工厂这一部分,对于简单工厂,工厂方法和抽象工厂我一直不能理解,也不明白其中关系,然而米老师的讲解算是让我们大彻大悟了。
简单工厂:只能生产一种车(有且只有一个车间一条...
分类:
其他好文 时间:
2014-08-11 00:27:11
阅读次数:
230
*java多线程--等待唤醒机制:经典的体现"生产者和消费者模型*对于此模型,应该明确以下几点:*1.生产者仅仅在仓库未满的时候生产,仓库满了则停止生产。*2.消费者仅仅在有产品的时候才能消费,仓空则等待。*3.当消费者发现仓储没有产品可消费的时候,会唤醒等待生产者生产。*4.生产者在生产出可以消费...
分类:
编程语言 时间:
2014-08-11 00:02:21
阅读次数:
665
操作系统:1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)5. 线程的实现方式. (也就是用户线程与内核线程的区别)6. 用户态和核心态的区别。7. 用户栈和内核栈的区别。...
分类:
其他好文 时间:
2014-08-10 12:40:50
阅读次数:
278
(1) 出问题的代码
最近使用单生产者-多消费者模型是遇到一个问题,以前既然都没有想到过。生产者线程的代码如下,基本功能就是接收到一个连接之后创建一个Socket对象并放到list中等待处理。...
分类:
其他好文 时间:
2014-08-09 18:43:28
阅读次数:
224
想必大家都很熟悉生产者-消费者队列,生产者负责添加元素到队列,如果队列已满则会进入阻塞状态直到有消费者拿走元素。相反,消费者负责从队列中拿走元素,如果队列为空则会进入阻塞状态直到有生产者添加元素到队列。BlockingQueue就是这么一个生产者-消费者队列。BlockingQueue是Queue的...
分类:
编程语言 时间:
2014-08-09 18:09:28
阅读次数:
255