第一部分 JavaSpaces基础知识 3
第1章 关于JavaSpaces 3
1.1 什么是JavaSpace 3
1.1.1 JavaSpace接口 4
1.1.2 Jini和JavaSpaces 8
1.1.3 共享分布式计算 10
1.1.4 永久对象仓库 11
1.2 JavaSpaces的用途 12
1.2.1 信息共享 12
1.2.2 计算服务 12
1.2.3 工作流 12
1.3 本章小结 12
第2章 获得和安装JavaSpaces 13
2.1 获得Java 14
2.2 获得和安装Jini 15
2.2.1 Sun社区资源许可协议(SCSL) 15
2.2.2 获得Jini 16
2.2.3 安装Jini 16
2.3 运行JavaSpace 17
2.4 启动支持服务 17
2.4.1 利用GUI进行启动 18
2.4.2 从命令行启动 23
2.4.3 运行射线跟踪例子 27
2.5 本章小结 31
第3章 JavaSpaces基础 33
3.1 编程约定 33
3.2 查找一个JavaSpace 34
3.2.1 编译 40
3.2.2 运行服务 41
3.2.3 运行例子 42
3.3 项 43
3.3.1 写一个项 44
3.3.2 编译 46
3.3.3 运行例子 46
3.4 读一个项 47
3.4.1 项模板 49
3.4.2 编译 50
3.4.3 运行例子 50
3.5 取走一个项 52
3.5.1 编译 53
3.5.2 运行例子 53
3.6 快照方法 54
3.7 本章小结 56
4.1 租用 57
第4章 JavaSpaces的更多介绍 57
4.2 对JavaSpace使用租用 59
4.2.1 编译 65
4.2.2 运行例子 65
4.3 对JavaSpaces使用事务处理 66
4.3.1 建立一个事务处理 67
4.3.2 事务处理和JavaSpace的方法 69
4.3.3 对JavaSpaces使用事务处理 70
4.4 分布式事件 76
4.4.1 分布式事件和JavaSpaces 77
4.4.2 事件例子 80
4.5 永久性 85
4.6 本章小结 86
5.1.1 并行性 89
5.1 分布式概念 89
第二部分 分布式程序设计 89
第5章 分布式介绍 89
5.1.2 部分失效 92
5.1.3 通信/同步 92
5.2 分布式结构 92
5.2.1 数组 93
5.2.2 编译 104
5.2.3 运行例子 104
5.2.4 队列 105
5.2.5 无序结构 118
5.3 本章小结 123
第6章 同步问题 125
6.1 同步问题的类型 125
6.1.2 死锁问题 126
6.1.1 数据讹误 126
6.1.3 资源缺乏问题 127
6.2 同步方法 127
6.2.1 基本JavaSpace机制 128
6.2.2 空间初始化 128
6.2.3 信号量 135
6.2.4 乐器店的例子 139
6.3 本章小结 149
第7章 公平共享资源 151
7.1 公平共享 151
7.2 定单处理例子 153
7.2.1 物品浏览器 180
7.2.2 编译 186
7.2.3 运行例子 187
7.3 本章小结 191
第三部分 进入更高层次 195
第8章 并行计算 195
8.1 一般的并行计算 197
8.1.1 分解任务 197
8.1.2 整合结果 198
8.2 并行计算构架 198
8.3 素数计数器应用程序 207
8.3.1 编译 217
8.3.2 运行例子 217
8.4 进一步扩展 219
8.5 更进一步扩展 222
8.6 本章小结 222
9.2 安全模型 223
9.1 安全性 223
第9章 安全性问题 223
9.3 RMID的安全性 224
9.4 策略文件 227
9.5 服务的策略 227
9.6 客户机策略文件 228
9.7 签名文件 230
9.8 JavaSpace的安全性 231
第10章 总结 233
10.1 相关信息 233
10.1.1 Web站点 233
10.1.2 邮件清单 233
10.2 其他相关技术 234
10.3 结束语 234
附录A 常见问题解答 235