- 浏览: 68286 次
- 性别:
- 来自: 北京
-
最近访客 更多访客>>
最新评论
-
zhongaili520:
我怎么跑起来报错啊
转载打造您的 Eclipse RCP 产品 -
d02540315:
很基础, 但题目取的不太对
转载java多线程设计模式 -
jomper:
感谢你,看了你部分文章后 对jxta有了初步的了解,并实现花了 ...
What is the differenc between config_adhoc and config_edge? -
nickle_shen:
写的很清晰
转载java多线程设计模式 -
happytian:
没说pipe怎么使用呀
PipeAdvertisement的使用
文章列表
为您的Java应用程序添加退出事件处理
作者:李鲁群
作者简介
李鲁群,男,副教授。主要从事JavaJ2EE与J2ME集成应用,空间Web Service 、Mobile GIS应用研究与教学工作。您可以通过liluqun@263.net和作者取得联系。
正文
一个完整的Java应用程序,通常至少要有一个应用程序的结束点。对于一般程序来说,系统开发者根据需要和个人的偏好,会在程序结束位置,通过添加System.exit(0),或System.out(-1),来结束程序,或不加这些指令,让程序自然运行到结束。
如:下列典型代码
java 代码
package untitle ...
- 2007-07-24 17:13
- 浏览 1283
- 评论(0)
同位体发现协议
这个协议用来查找其它同位体的广告,通过它,可以查找所有的同位体、同位体组或核心广告。这个协议是缺省的发现协议,可以被替换。集合点同位体是这样一种 同位体,它保存着一个知道的同位体和同位体组的表。如果这个表是完全及时的,那么往这个同位体发一个消息,就可以发现所有的同位体,当然,这是最简单的一 种方式。 查找有两种方式,其一就是上述的向集合点同位体发送消息,另外,可以向一个范围内广播发送消息,这种消息叫做发现查询消息。发现响应消息返回一个或多个同 位体和同位体组的广告。以上这两种消息的格式请参考 JXTA规范。
- 2007-07-23 11:19
- 浏览 1112
- 评论(0)
http://xuefeng.javaeedev.com
ReadWriteLock
多线程读写同一个对象的数据是很普遍的,通常,要避免读写冲突,必须保证任何时候仅有一个线程在写入,有线程正在读取的时候,写入操作就必须等待。简单说,就是要避免“写-写”冲突和“读-写”冲突。但是同时读是允许的,因为“读-读”不冲突,而且很安全。
要实现以上的ReadWriteLock,简单的使用synchronized就不行,我们必须自己设计一个ReadWriteLock类,在读之前,必须先获得“读锁”,写之前,必须先获得“写锁”。举例说明:
DataHandler对象保存了一个可读写的char[]数组:
...
- 2007-07-20 15:05
- 浏览 1138
- 评论(0)
http://xuefeng.javaeedev.com
Guarded Suspention
Guarded Suspention模式主要思想是:
当条件不满足时,线程等待,直到条件满足时,等待该条件的线程被唤醒。
我们设计一个客户端线程和一个服务器线程,客户端线程不断发送请求给服务器线程,服务器线程不断处理请求。当请求队列为空时,服务器线程就必须等待,直到客户端发送了请求。
先定义一个请求队列:Queue
java 代码
package com.javaeedev.thread;
import java.util.*;
...
- 2007-07-20 14:57
- 浏览 1428
- 评论(0)
http://xuefeng.javaeedev.com
线程的创建和启动
Java语言已经内置了多线程支持,所有实现Runnable接口的类都可被启动一个新线程,新线程会执行该实例的run()方法,当run()方法执行完毕后,线程就结束了。一旦一个线程执行完毕,这个实例就不能再重新启动,只能重新生成一个新实例,再启动一个新线程。
Thread类是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法:
Thread t = new Thread();
t.start();
start()方法是一个native方法 ...
- 2007-07-20 14:53
- 浏览 2442
- 评论(2)
http://www.javazy.com/contentex/20064512151.shtml
要完成有用的工作,P2P 应用程序中的对等点必须能够彼此发现对方和与对方交互。软件开发人员 Todd Sundsted 在本文中继续研究 P2P 计算,并描述了几种完成这一任务(称为发现(discovery))的方法,以及每种方法的优势和弱点。
对等应用程序是一种大规模但又是细粒度的应用程序。每个对等点都可以进入或退出 — 每个对等点都关注于自己的任务。在他们短暂的活动期间,尝试完成布置给它们的任务。这些任务中的大多数都要涉及与其它对等点交互。
管理体系结构(对等点在这种体系结构下运作)必须 ...
- 2007-07-19 10:00
- 浏览 1108
- 评论(0)
这篇帖子重点讲NetPeerGroup的创建过程。其中包含两个问题:
缓存管理(Cm)是在哪里初始化的
WorldPeerGroup是用哪个类初始化的
接上文,先看下面的代码
java 代码
// create, and Start the default jxta NetPeerGroup
NetPeerGroupFactory factory = new NetPeerGroupFactory(config.getPlatformConfig(), instanceHome);
netPeerGroup = factory.getI ...
- 2007-07-18 17:40
- 浏览 1438
- 评论(0)
本文使用Jxta的版本为2.5_rc1
Jxta的初始化比较简单,一般都是实例化一个NetworkManager对象,并调用它的startNetwork方法。下面我们来看看背后发生的事。
实例化NetworkManager
调用NetworkManager.startNetwork
首先来看NetworkManager的构造函数,同样比较简单,包括一些类私有变量的赋值(instanceName 、mode 、instanceHome ),同时调用configure方法根据mode参数(目前支持预定义的mode类型包括:ADHOC、EDGE、RENDEZVOUS、RELAY、 ...
- 2007-07-18 14:44
- 浏览 1970
- 评论(0)
From:http://delphi.ktop.com.tw/board.php?cid=169&fid=963&tid=57037
BTree一直是我心中的惡夢,依稀還記得我大二上的時候,修了一門叫「
檔案結構」的課,依稀有教到這個東西。這門課最後以9分收場,不僅造
成了終生的遺憾,也讓我自此對資料庫相關的課程,望之卻步,差點成為
我軟體技術上的罩門,一直等到在獨孤木先生英明偉大的領導下,才漸漸
明白和關聯式資料庫有關的一些東西,也終於會寫一點點粗淺的SQL。
很多時候,命運會為你和你不愛的東西搭起一座橋(請參考「我的野蠻女
友」)。在前些日子,我就剛好遇到一個需要BTre ...
- 2007-07-17 20:01
- 浏览 1150
- 评论(0)
http://www.psoug.org/reference/exception_handling.html
http://www.psoug.org/library.html
CREATE OR REPLACE PROCEDURE <procedure_name> IS
BEGIN
NULL;
EXCEPTION
WHEN <named_exception> THEN
-- handle identified exception
WHEN <named_exception> THEN
-- handle identified ...
- 2007-07-11 14:30
- 浏览 5165
- 评论(0)
UnicastType
Unicast意味着管道是一种点到点的管道,从管道上发出的消息将被定向到一个单独的网络地址(与广播或多播地址相对)。Unicast管道是不可靠的,不安全的。不可靠的意思是不保证从管道上发出的消息会到达目标地址,也不保证消息到达的顺序。不安全的意思是通过管道传送的数据时没有任何保护的:网络入侵者可以查看,在某些情况下可以修改通过管道传送的数据。
PropagateType
Propagate管道是一对多的管道:在一个Propagate管道上写入的消息可以被多个接收者(recipients)读取。在IP网络上,Propagate管道以广播或多播实现。在 ...
- 2007-07-10 14:50
- 浏览 1210
- 评论(0)
public static void printPeerGroupAdvertisement(PeerGroup pg) throws IOException {
Advertisement adv = pg.getPeerGroupAdvertisement();
StructuredTextDocument doc = (StructuredTextDocument)adv.getDocument(MimeMediaType.TEXTUTF8);
PrintWriter out = new PrintWriter(System.out) ...
- 2007-07-10 10:51
- 浏览 794
- 评论(0)