第一部分 基础篇 1
第1章 Java环境 2
1.1 联网 2
1.2 类 2
1.2.1 类的装入 2
1.2.2 静态初始化 4
1.3 安全性 5
1.4 文件系统 5
1.7.1 颜色 6
1.7 外观 6
1.6 线程 6
1.5 属性 6
1.7.2 字体 7
1.7.3 构件布置 7
1.7.4 构件和同级件 7
1.8 小结 8
第2章 小程序和应用程序基础 9
2.1 小程序 9
2.1.1 小程序与HTML 9
2.1.2 小程序生命周期 10
2.1.3 小程序上下文 12
2.1.6 小程序的未来 13
2.1.4 小程序间的通信 13
2.1.5 小程序限制 13
2.2 应用程序 14
2.2.1 public、static、void 14
2.2.2 测试 15
2.2.3 同级件 15
2.3 rePaint()、update()和Paint()循环 16
2.4小结 18
第3章 建立定制构件 19
3.1 设计定制构件的策略 19
3.2 事件的生命周期 20
3.3 设计考虑 23
3.4 生成画板子类: polar构件 24
3.4.1 外观和感觉 24
3.4.2 事件发表 27
3.5 累积: 三向构件 35
3.5.1 外观和感觉 35
3.5.2 构件值 37
3.5.3 事件发表 38
3.6 生成标准构件子类: 验证文本字段 48
3.6.1 事后验证 51
3.6.2 包装验证 54
3.7 小结 56
第4章 布置管理器 57
4.1 背景 57
4.1.1 布置管理器的使用 57
4.1.2 反对删除构件的理由 58
4.2 标准布置管理器套件 59
4.2.1 流程布置管理器 60
4.2.2 网格布置管理器 61
4.2.3 边框布置管理器 62
4.2.4 网格袋布置管理器 63
4.2.5 卡片布置管理器 66
4.2.6 无布置管理器 67
4.3 定制布置管理器 70
4.3.1 LayoutManager接口 70
4.3.2 SpecificGridLayout 71
4.4 相关布置管理器 75
4.4.1 布置政策 76
4.4.2 指定位置和大小 77
4.4.3 相关性检查器 79
4.4.4 相关性检查器API 80
4.4.5 DependencyChecker透视透视 81
4.4.6 FromLayout透视 89
4.4.7 ComponentSpec类 94
4.4.8 设计小结 96
4.4.9 使用FromLayout 96
4.4.10 FormLab 97
4.5 小结 98
第5章 移植性问题 100
5.1 数据表示 100
5.2 定时 101
5.3 软件包和类的可用性 102
5.3.1 找到类和软件包的位置 103
5.3.2 包的命名 105
5.3.3 Web服务器目录布置 106
5.4 文件系统语义 107
5.4.1 运行程序 112
5.4.2 作用 113
5.4.3 细节 113
5.4.4 复用例子 114
5.5 视觉方面 114
5.5.1 字体 115
5.5.2 颜色 119
5.5.3 布置 123
5.6 本地/用户配置 124
5.6.3 细节 126
5.6.4 属性的有效使用 126
5.6.1 运行程序 126
5.6.2 作用 126
5.6.5 通用属性命名方法 127
5.6.6 属性的位置 130
5.6.7 属性与颜色 131
5.6.8 属性与字体 132
5.6.9 属性本地化 133
5.7 网络类装入 136
5.7.2 作用 138
5.7.3 强制装入类 138
5.7.1 运行程序 138
5.8 安全效果 139
5.9 小结 140
第二部分 高级课题 141
第6章 图形 142
6.1 图形的本质 142
6.6.1 图形观察者 144
6.6.2 媒介跟踪器 146
6.6.3 图形和应用程序 147
6.2 内存图形源 147
6.3 颜色模型 150
6.3.1 直接颜色模型 150
6.3.2 索引颜色模型 151
6.4 生成器、使用者和过滤器 153
6.4.1 生成器和使用者 153
6.4.2 自定义生成器 158
6.5 过滤器 161
6.5.1 过滤器子类 161
6.5.2 图素抓取器 162
6.5.3 过滤器举例和FilterLab 163
6.6 小结 167
第7章 线程 169
7.1 建立线程 170
7.1.1 线程命名 171
7.1.2 共享代码和数据 172
7.1.3 线程的实际控制 175
7.1.4 两种建立线程化类的方法 178
7.1.5 不生成线程的情形 178
7.2 线程调度 179
7.2.1 先占式调度 179
7.2.2 先占式调度器编程 179
7.2.3 分时调度 180
7.2.4 Java的平台依赖性 181
7.3 更多的线程控制 181
7.3.1 sleep()方法 181
7.3.3 Suspend()和resume()方法 182
7.3.2 yield()方法 182
7.3.4 join()方法 183
7.3.5 精灵和用户线程 183
7.4 线程组 183
7.4.1 层次组控制 184
7.4.2 安全 185
7.5 线程间交互作用 185
7.5.1 控制多个访问 187
7.6.1 避免死锁 191
7.7 AWT中的线程 191
7.6 死锁 191
7.7.1 维持响应性 192
7.8 线程间通信 194
7.8.1 一般化通信方法 196
7.8.2 其它线程通信机制 206
7.9 设计多线程 210
7.9.1 高级线程通信 211
7.10 小结 214
第8章 动画 215
8.1 现场动画 215
8.2 不健全的现场动画 215
8.2.1 现场动画举例 217
8.3.1 重新绘制橡皮带 223
8.3 橡皮带方法 223
8.3.2 用XOR的橡皮带 226
8.4 纸带动画 229
8.4.1 纸带要求和API 229
8.4.2 纸带类设计 230
8.4.3 纸带使用举例 237
8.5 灵怪动画 238
8.5.1 RolloverRegion类 238
8.5.2 灵怪实现问题 240
8.5.3 Rollover小程序类 241
8.6 小结 248
9.1 流 249
第9章 文件I/O和流 249
9.1.1 抽象超类 251
9.1.2 低级文件流 253
9.1.3 其它低级流类 254
9.1.4 高级流类 256
9.2 非流类 263
9.2.1 RandomAccessFile类 264
9.2.2 StreanTokenizer类 264
9.3小结 265
第10章 联网 266
10.1 TCP/IP联网基础 266
10.1.1 TCP/IP内部 267
10.2.1 简单TCP客户机 270
10.2 网络编程基础 270
10.2.2 简单TCP服务器 272
10.2.3 双向通信 274
10.3 服务器设计和协议 274
10.3.1 服务器类型 274
10.3.2 队列深度或积压 275
10.3.3 协议问题 275
10.3.4 并行服务器 277
10.4.1 SMTP邮件 281
10.4.2 插叙: SMTP协议初探 281
10.4 现有协议 281
10.4.3 简单SMTP邮件客户机 283
10.4.4 URL类 288
10.4.5 处理URL内容 291
10.4.6 连接CGI 294
10.4.7 CGI GET举例 295
10.4.8 CGI POST举例 297
10.5 实现网络类装入器 299
10.5.1 微型小程序查阅器 299
10.6 连接信息 309
10.6.1 取得和换算地址信息 309
10.7.1 适用于小程序的一般网络限制 310
10.6.2 取得终点地址 310
10.7 安全考虑 310
10.7.2 隐蔽通道 311
10.8 使用UDP 311
10.8.1 Daytime例子 312
10.8.2 UDP Daytime客户机 313
10.8.3 广播 315
10.8.4 多路广播 316
10.9 小结 319
第11章 数据库连接(JDBC) 320
11.1 Java作为数据库前端 320
11.3 双层数据库设计 321
11.2 数据库客户机/服务器方法论 321
11.4 3层数据库设计 322
11.5 JDBC API 323
11.5.1 API构件 324
11.5.2 使用JDBC的局限性(应用程序与小程序) 334
11.5.3 安全考虑 335
11.6 JDBC数据库举例 336
11.7 JDBC驱动程序 342
11.8 JDBC-ODBC桥 343
11.10其它连接方法 344
11.10.1 远程方法调用(RMI) 344
11.9 当前JDBC驱动程序 344
11.10.2 公共对象请求代理结构 345
11.10.3 对象数据库的连接 345
11.10.4 基于Web的数据库系统连接 345
11.11 小结 346
第12章 持续和远程方法调用 347
12.1 对象持续 347
12.1.1 系列化 347
12.1.2 对象输出流 348
12.1.3 反系列化和对象输入流 349
12.1.4 安全 349
12.1.6 写入和读取对象流 350
12.1.5 系列化异常 350
12.1.7 系列化举例 351
12.2 远程方法调用 355
12.2.1 对象持续与远程方法调用 355
12.3 RMI结构 355
12.3.1 端头 355
12.3.2 框架 356
12.3.3 远程引用层 356
12.3.4 传送层 356
12.3.5 RMI举例 357
12.4 小结 365
13.1.1 用MIME描述内容类型 366
第13章 内容和协议处理器 366
13.1 协议和内容类型 366
13.2 协议和URL 367
13.3 内容和协议处理方法 367
13.3.1 帮助程序 367
13.3.2 动态链接 367
13.3.3 超类和Java的可扩展性 367
13.4 Daytime协议处理器 370
13.4.1 类布置 370
13.4.2 Daytime协议举例 370
13.4.3 测试Daytime协议处理器 374
13.5.1 插曲: Telnet协议讨论 376
13.5 流内协议 376
13.5.2 简单Telnet例子 377
13.6 内容处理 386
13.6.1 寻找内容处理器 386
13.6.2 使用工厂 386
13.6.3 编写内容处理器 386
13.7 服务器方处理器 393
13.7.1 动态类装入 393
13.7.2 解决办法 394
13.7.3 其它服务器方处理器 394
13.7.4 实现服务器方处理器 394
13.8 小结 397
第14章 1.1AWT 399
14.1 数据传送 399
14.1.1 可传送对象 399
14.1.2 剪贴板数据传送 400
14.1.3 拖放数据传送 401
14.2 桌面颜色 402
14.3 事件委托 403
14.3.1 新事件类 404
14.3.2 事件听众 405
14.3.3 事件源 405
14.3.4 适配器 406
14.3.5 生成没有听众的构件子类 407
14.3.6 事件委托模型的优点 409
14.4 无鼠标操作 409
14.4.1 焦点经过 409
14.4.2 菜单快捷法 410
14.5 弹出菜单 410
14.6 打印 411
14.7 SerollPane类 412
14.8 再谈Polar构件 413
14.8.1 设计问题 413
14.8.2 设计决策: 捕捉事件 413
14.8.3 设置决策: 发表事件 414
14.8.4 NewPolar源代码 416
14.8.5 小程序测试 421
14.9 小结 422
第三部分 新API 425
第15章 JavaBeans API 426
15.1 概述 426
15.2 Java的Beans 427
15.2.1 Bean结构 427
15.2.2 Bean事件模型 428
15.2.3 属性 431
15.2.5 Bean存放 433
15.3 Bean内省和配置 433
15.2.4 方法 433
15.4 BaenInfo接口 434
15.5 Bean持续 434
15.6 Beans开发工具库 434
15.6.1 BeanBox 435
15.6.2 使用BeanBox 435
15.6.3 样本Beans 437
15.6.4 连接Beans 437
15.6.5 保存和恢复Bean应用程序 439
15.7 建立新Bean 440
15.7.1 交通灯Bean 440
15.7.3 使用交通灯Bean 446
15.7.2 将新Bean插入BeanBox 446
15.8 集成Beans与其它技术 447
15.9 小结 448
第16章 Java电子商业框架 449
16.1 商人小程序层 449
16.2 钱包层 450
16.3 盒子层 450
16.3.1 盒子标识 451
16.3.2 标题角色与访问控制 451
16.3.3 门票, 大门和权限 452
16.4 小结 453
17.1 背景 454
第17章 小服务API 454
17.1.1 Jeeves——Java服务器 455
17.2 小服务基础 455
17.2.1 其它重要小服务方法 461
17.3 Jeeves中的小服务配置 463
17.4 小服务的完整例子 465
17.5 服务器方包括 468
17.6 小服务间通信 469
17.6.1 寻找小服务 469
17.6.2 小服务间通信 470
17.7 小结 472
A.1 java.applet软件包 474
附录A 1.1 中的API 474
A.2 java.awt软件包 475
A.3 java.awt.datatransfer软件包 513
A.4 java.awt.event软件包 515
A.5 java.awt.image软件包 526
A.6 java.awt.peer软件包 531
A.7 Java.io软件包 537
A.8 java.lang软件包 561
A.9 java.lang.reflect软件包 585
A.10 java.net软件包 589
A.11 java.util软件包 598
A.12 java.util.zip软件包 609
附录B Java文档工具: javadoc 615
B.1 说明格式 615
B.2 标志 617
B.3 文档文件组 619
附录C 常见问题 621
C.1 语言和编译器问题 621
C.2 AWT问题 636
C.3 安全问题 637
光盘内容 640
读者购盘说明 641