“发布(Publish)“一个对象是指使对象能够在当前作用域之外的代码中使用。可以通过 公有静态变量,非私有方法,构造方法内隐含引用 三种方式。
如果对象构造完成之前就发布该对象,就会破坏线程安全性。当某个不应该发布的对象被发布时,这种情况就被称为逸出(Escape)。
下面我们首先来看看一个对象是如何逸出的。
发布对象最简单的方法便是将对象的引用保存到一个共有的静态变量中,以便任何类和线程都能看见对象,如下面代码。...
分类:
编程语言 时间:
2014-10-12 21:52:40
阅读次数:
388
这两天研究了一下zeroMQ,号称史上最好的通讯库,比rabbitMQ快很多,基于c语言开发的,实时流处理sorm的task之间的通信就是用的zeroMQ。 zeroMQ在使用模式上支持多种,有req-reply,publish-subscribe,pipe。 ?...
分类:
其他好文 时间:
2014-10-08 23:07:07
阅读次数:
329
DescriptionIt's preseason and the local newspaper wants to publish a preseason ranking of the teams in the local amateur basketball league. The teams ...
分类:
其他好文 时间:
2014-10-05 20:08:18
阅读次数:
284
1006. Team RankingsConstraintsTime Limit: 1 secs, Memory Limit: 32 MBDescriptionIt's preseason and the local newspaper wants to publish a preseason ra...
分类:
其他好文 时间:
2014-10-03 21:45:16
阅读次数:
210
观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主....
分类:
其他好文 时间:
2014-09-29 23:29:41
阅读次数:
336
观察者模式(Observer)完美的将观察者和被观察的对象分离开。
在GOF的《设计模式:可复用面向对象软件的基础》一书中对观察者模式是这样说的:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。当一个对象发生了变化,关注它的对象就会得到通知;这种交互也称为发布-订阅(publish-subscribe)。目标是通知的发...
分类:
其他好文 时间:
2014-09-24 16:26:37
阅读次数:
185
参考资料
http://faye.jcoglan.com/
Faye is a publish-subscribe messaging system based on the Bayeux protocol/CometD. It provides message servers for Node.js and Ruby, and clients for use on...
分类:
Web程序 时间:
2014-09-23 12:12:24
阅读次数:
192
消息传递有很多种方式,请求/响应(Request/Reply)是最常用的。在前面的博文的例子中,很多都是采用请求/响应的方式,当服务器接收到消息后,会立即write回写一条消息到客户端。HTTP协议也是基于请求/响应的方式。但是请求/响应并不能满足所有的消息传递的需求,有些需求可能需要服务端主动推送...
分类:
Web程序 时间:
2014-09-22 11:20:02
阅读次数:
306
Default Methods The section?Interfaces?describes an example that involves manufacturers of computer-controlled cars who publish industry-standard interfaces that describe which methods can be in...
分类:
编程语言 时间:
2014-09-21 19:02:31
阅读次数:
408
本篇将记录下一个简单的java程序在linux上的部署设置,以及发布脚本的编写。粗糙、简略。 //神奇!勿动
1.首先写了一个简单的java程序,一个死循环,不停地输出一句话。
2.把工程共享到svn上。
3.编写publish_test.sh脚本,实现svn源码的检出,调用ant编译、打包,以及其他准备操作。
. /home/testjava/publish/confi...
分类:
编程语言 时间:
2014-09-19 13:56:45
阅读次数:
210