第1章 Java语言基础 1
1.1 Java语言的特点及其程序开发过程 1
1.1.1 Java语言的特点 1
1.1.2 Java程序的开发过程 2
1.2 数据类型、变量、运算符和基本语句 3
1.2.1 数据类型 4
1.2.2 变量与常量 4
1.2.3 运算符 6
1.2.4 运算符的优先级 7
1.2.5 数组 7
1.2.6 字符串 9
1.2.7 基本数据类型包装类 10
1.2.8 基本语句 11
1.3 类 17
1.3.1 对象的生成与引用 17
1.3.2 this与super 17
1.3.3 类的定义 19
1.3.4 成员变量的定义 19
1.3.5 方法的定义 20
1.3.6 构造方法的定义与使用 21
1.3.7 static块 22
1.3.8 对象的释放 22
1.4 接口与异常处理 22
1.4.1 接口 22
1.4.2 异常处理 23
1.4.3 包 25
1.4.4 命令行参数 26
1.5 多态性的实现 27
1.6 委托处理与功能继承 28
第2章 分布式对象与CORBA 32
2.1 CORBA与OMG 32
2.2 CORBA的发展历程 32
2.3 分布式对象的定义与特点 34
2.3.1 分布式对象的定义 34
2.3.2 分布式对象系统的透明性 35
2.3.3 分布式对象系统的复杂性 35
2.4 CORBA系统的基本构成 37
2.5 CORBA分布式对象环境 41
2.6 分布式对象系统的处理过程 44
第3章 分布式对象系统设计与IDL定义 49
3.1 分布式对象系统的开发流程 49
3.2 基于CORBA分布式对象系统设计 50
3.3 IDL接口定义语言 52
3.3.1 IDL的作用 52
3.3.2 数据类型 53
3.3.3 类型定义 54
3.3.4 常量定义 56
3.3.5 异常定义 57
3.3.6 属性定义 57
3.3.7 操作定义 58
3.3.8 接口定义 60
3.3.9 模块定义 61
3.3.10 预处理器 62
3.4 从IDL到Java的映射 63
3.4.1 接口定义的映射 63
3.4.2 实现引用传递的Holder类 66
3.4.3 提供各种实用功能的Helper类 68
3.4.4 其他IDL定义的映射 69
3.4.5 IDL映射后的使用 78
第4章 CORBA客户端程序设计 81
4.1 问题描述与IDL定义 81
4.2 CORBA客户端的组成 82
4.3 ORB的初始化 83
4.4 ORB接口的功能 84
4.5 分布式对象引用的获取 85
4.5.1 利用文件的方法获取对象引用 85
4.5.2 利用Binding服务的方法获取对象引用 87
4.5.3 利用命名服务的方法获取对象引用 88
4.5.4 利用factory对象的方法获取对象引用 89
4.6 Stub类的构造 89
4.6.1 代理对象的概念 89
4.6.2 分布式对象引用与本地对象引用的区别 90
4.6.3 Stub类的构造 90
4.7 org.omg.CORBA.Object接口 93
4.8 分布式对象方法的启动 95
4.9 Java Applet中的CORBA客户端结构 97
4.9.1 Java Applet中的CORBA客户端结构 97
4.9.2 ORB的初始化 98
4.9.3 分布式对象引用的获取 98
4.9.4 在HTML文件中使用Applet 99
第5章 CORBA服务器程序设计 101
5.1 CORBA服务器的构造 101
5.2 对象适配器的作用 102
5.2.1 对象适配器的作用 102
5.2.2 BOA与POA 103
5.2.3 伪对象 103
5.3 BOA的功能 103
5.4 分布式对象实现 105
5.4.1 Skeleton继承方式 105
5.4.2 Skeleton类的构造 106
5.4.3 Tie机制方式 110
5.5 分布式对象的生成 113
5.6 分布式对象的登录 113
5.7 接收请求开始 113
5.8 POA基础 114
5.8.1 POA中的CORBA对象与Servant的关系 114
5.8.2 POA与策略 114
5.8.3 POA的生成 115
5.8.4 POA策略简介 116
5.8.5 POA管理器 122
5.8.6 Servant管理器 122
5.8.7 默认Servant 123
5.8.8 基于POA的服务器程序设计 123
第6章 动态接口 127
6.1 通用伪接口的定义 127
6.1.1 TypeCode接口 127
6.1.2 NamedValue接口 130
6.1.3 NVList接口 131
6.2 Any类型数据的处理 132
6.2.1 Any的功能与数据构造 132
6.2.2 Any类型的Java映射 133
6.2.3 Any对象的生成 133
6.2.4 Any对基本类型数据的存取 133
6.2.5 Any对用户定义类型数据的存取 134
6.2.6 DynAny接口 135
6.3 接口仓库 135
6.3.1 接口仓库的构造 135
6.3.2 接口仓库的接口 136
6.3.3 对接口仓库的访问 141
6.3.4 仓库ID 143
6.4 动态启动接口DII 144
6.4.1 DII程序设计过程 144
6.4.2 Request对象 144
6.4.3 动态启动调用请求 147
6.4.4 返回值的取出 148
6.5 动态骨架接口DSI 149
6.5.1 DynamicImplementation类 149
6.5.2 ServerRequest接口 150
第7章 CORBA实例 151
7.1 Java IDL及其应用系统开发过程 151
7.2 环境配置 152
7.3 CORBA实例1:一般属性和操作的定义与使用 152
7.3.1 问题描述与IDL接口定义 153
7.3.2 IDL到Java语言的映射 153
7.3.3 服务器端的Java语言程序设计 154
7.3.4 客户端的Java语言程序设计 157
7.3.5 Java类的编译 158
7.3.6 启动orbd 158
7.3.7 服务器端程序的执行 158
7.3.8 客户端程序的执行 159
7.4 CORBA实例2:本地方法与Holder类的使用 159
7.4.1 问题描述与IDL接口定义 159
7.4.2 IDL到Java语言的映射 160
7.4.3 服务器端的Java语言程序设计 161
7.4.4 客户端的Java语言程序设计 163
7.4.5 Java类的编译 165
7.4.6 启动orbd 165
7.4.7 服务器端程序的执行 165
7.4.8 客户端程序的执行 165
7.5 CORBA实例3:Factory对象的定义与使用 166
7.5.1 问题描述与IDL接口定义 166
7.5.2 服务器程序设计 167
7.5.3 客户端程序设计 169
7.5.4 语言映射、编译与运行 170
7.6 CORBA实例4:利用文件方式获取分布式对象引用的程序实现过程 170
7.6.1 IDL接口定义 171
7.6.2 服务器程序设计 171
7.6.3 客户端程序设计 172
7.6.4 语言映射、编译与运行 173
7.7 简便的程序调试方法 173
第8章 Java RMI技术 174
8.1 Java RMI远程对象调用过程 174
8.2 远程对象 174
8.2.1 远程接口 174
8.2.2 远程接口的实现类 175
8.2.3 远程对象的生成 175
8.3 Stub与Skeleton 175
8.4 启动RMI注册器 175
8.5 RMI程序设计过程 176
8.5.1 远程接口的定义 176
8.5.2 服务器程序的实现 176
8.5.3 客户端程序的实现 177
8.5.4 类文件的编译 178
8.5.5 启动RMIregistry 178
8.5.6 运行服务器程序 179
8.5.7 运行客户端程序 179
8.6 基于回调技术的RMI程序设计 180
8.6.1 服务器的远程接口 180
8.6.2 服务器的远程接口的实现类 181
8.6.3 客户端的远程接口 184
8.6.4 客户端的远程接口的实现类 184
8.6.5 异常类的定义 185
8.6.6 Applet程序与HTML文件的定义 185
8.6.7 定义java.policy文件 187
8.6.8 编译与运行 188
参考文献 189