目录 1
第1章 Java概述 1
1.1 Java的诞生 1
1.2 Java的技术特点 2
1.2.1 简明的语法结构 2
1.2.2 平台独立性 3
1.2.3 面向对象特征 3
1.2.4 面向网络环境 4
1.2.5 动态性 4
1.2.6 安全性 4
1.2.9 类库丰富 5
1.2.8 多线程 5
1.2.7 稳定性 5
1.3 Java与C/C++的差异 6
1.4 Java程序运行机制 7
1.5 Java运行时刻环境 7
1.5.1 Java虚拟机 8
1.5.2 Java平台 9
1.5.3 字节码介绍 9
1.5.4 编译与执行过程 10
1.5.5 垃圾收集 10
1.5.6 安全性问题 11
1.6 Java2 SDK 12
习题 13
1.7 小结 13
第2章 Java开发环境和程序范例 14
2.1 Java程序开发环境介绍 14
2.1.1 JDK软件包及其配置 14
2.1.2 JBuilder开发平台 17
2.2 HelloWorld应用程序 18
2.2.1 编辑源程序 18
2.2.2 应用程序结构剖析 19
2.2.3 编译并运行HelloWorld应用程序 20
2.3 编写Applet程序 20
2.3.1 Applet的定义 20
2.3.3 Applet程序结构剖析 21
2.3.2 第一个Applet程序:HelloWorld 21
2.3.4 运行Applet程序 22
2.4 小结 24
习题 24
第3章 Java程序设计基础 25
3.1 Unicode符号集 25
3.1.1 标识符 25
3.1.2 关键字 26
3.1.3 常量 26
3.1.4 运算符 26
3.1.5 分隔符 26
3.2 变量 26
3.2.1 基本数据类型 26
3.2.2 数据类型转换 27
3.2.3 变量定义和声明 28
3.2.5 变量初始化 30
3.2.4 变量命名 30
3.2.6 变量作用域 31
3.3 常量 32
3.3.1 整型常量 32
3.3.2 浮点型常量 32
3.3.3 布尔常量 33
3.3.4 字符常量 33
3.3.5 字符串常量 33
3.4.1 表达式 34
3.4.2 表达式的自动类型提升 34
3.4 表达式与运算符 34
3.4.3 运算符 35
3.4.4 运算符优先级 35
3.4.5 算术运算符 36
3.4.6 关系运算符 38
3.4.7 布尔逻辑运算符 38
3.4.8 位运算符 39
3.4.9 条件运算符 40
3.4.10 赋值运算符 40
3.5 对象与字符串运算符 41
3.5.1 对象运算符 41
3.5.2 字符串运算符 42
3.6.1 定义数组 44
3.6 数组 44
3.5.3 字符运算 44
3.6.2 创建数组 45
3.6.3 初始化数组 45
3.6.4 访问数组 46
3.6.5 多维数组 46
3.7 控制语句 48
3.7.1 条件语句 48
3.7.2 循环语句 51
3.7.3 转移语句 54
3.8 小结 57
习题 57
4.1.1 面向过程编程与面向对象编程 59
4.1.2 面向对象编程的基本概念 59
4.1 面向对象基础 59
第4章 Java与面向对象技术 59
4.1.3 面向对象编程的优点 60
4.2 类 60
4.2.1 类的结构 60
4.2.2 声明类 61
4.2.3 构造方法 62
4.2.4 析构方法 62
4.2.5 类修饰符 62
4.2.6 成员变量 63
4.2.7 特殊变量(null,this,super) 65
4.3.1 创建对象 66
4.3 对象生命周期 66
4.2.8 类转换 66
4.3.2 使用对象 68
4.3.3 释放对象 68
4.4 方法 69
4.4.1 方法定义 69
4.4.2 方法修饰符 69
4.4.3 方法重载 70
4.4.4 方法覆盖 70
4.4.5 main方法 71
4.5 抽象类和接口 71
4.5.1 抽象类 71
4.5.2 接口 72
4.6 包 73
4.6.1 声明 74
4.6.2 加载 74
4.7 面向对象程序设计简单实例 75
4.8 小结 77
习题 77
第5章 事件处理 78
5.1 事件 78
5.2 基于继承的事件模型 78
5.2.1 覆盖事件的处理方法 78
5.2.2 事件传递 80
5.2.3 构件标识 84
5.3.1 继承事件模型的不足 85
5.3 基于授权的事件模型 85
5.3.2 授权事件模型 86
5.3.3 事件类 87
5.3.4 事件监听者 87
5.3.5 适配器 88
5.3.6 基于授权事件模型的优点 90
5.4 高级事件处理 91
5.4.1 构件事件和语义事件 91
5.4.2 输入事件的消耗 91
5.4.3 语义事件 92
5.4.4 调度用户事件 93
习题 95
5.5 小结 95
第6章 异常处理 96
6.1 Java的程序错误处理机制 96
6.2 异常的分类 97
6.2.1 异常产生原因 97
6.2.2 异常分类 97
6.2.3 Throwable类 98
6.3 异常的捕捉和处理 98
6.3.1 捕捉异常 98
6.3.2 异常的嵌套 100
6.3.3 finally关键字 101
6.3.4 抛出异常 102
6.4 自定义异常类 103
6.5 异常处理的限制 106
6.6 小结 107
习题 107
第7章 输入和输出 108
7.1 流 108
7.2 java.io 108
7.3 输入流 109
7.3.1 InputStream 109
7.3.2 FileInputStream 110
7.3.3 ByteArraylnputStream 110
7.3.4 StringBufferlnputStream 111
7.3.5 SequenceInputStream 111
7.3.6 PipedlnputStream 111
7.3.7 FilterlnputStream 112
7.4 输出流 113
7.4.1 OutputStream 113
7.4.2 FileOutputStream 113
7.4.3 ByteArrayOutputStream 113
7.4.4 PipedOutputStream 114
7.4.5 FilterOutputStream 114
7.5 UTF字符流 114
7.5.1 UTF 114
7.5.2 字符流Reader和Writer 115
7.6 高级流 116
7.7 文件 117
7.7.1 File类 117
7.7.2 RandomAccessFile类 120
7.8.1 StringBufferInputStream 121
7.8 流的应用范例 121
7.8.2 文件输入/输出流 122
7.8.3 管道流与线程通信 123
7.8.4 存储器读/写 125
7.9 小结 127
习题 127
第8章 AWT与布局管理器 128
8.1 AWT 128
8.1.1 AWT简介 128
8.2 基本构件 129
8.2.1 基本构件类层次结构 129
8.1.2 AWT类库层次 129
8.2.2 标签 130
8.2.3 按钮 130
8.2.4 复选框 131
8.2.5 单行文本框 131
8.2.6 多行文本框 131
8.2.7 列表框 132
8.3 容器构件 132
8.3.1 容器构件特征 132
8.3.2 容器构件类层次结构 133
8.3.3 画布 133
8.3.4 面板 133
8.3.5 窗口 133
8.3.6 框架 137
8.3.8 文件对话框 138
8.3.7 对话框 138
8.4 菜单 139
8.4.1 菜单基本结构及其创建方法 139
8.4.2 菜单使用范例 140
8.5 布局管理器 142
8.5.1 布局管理器的功能和特点 142
8.5.2 构件的首选尺寸 143
8.5.3 强制容器布置构件 143
8.6.1 FlowLayout布局管理器 146
8.6.2 BorderLayout布局管理器 146
8.6 标准布局管理器 146
8.6.3 CardLayout布局管理器 147
8.6.4 GridLayout布局管理器 148
8.7 GridBagLayout布局管理器 148
8.7.1 约束变量 148
8.7.2 应用范例 150
8.8 null布局管理器 153
8.9 小结 153
习题 153
第9章 Swing构件 155
9.1 Swing构件特征 155
9.2 轻量构件和重量构件 156
9.4 Jcomponent构件类 157
9.3 Swing构件体系层次结构 157
9.5 Swing构件 159
9.6 Swing构件应用 159
9.7 小结 165
习题 165
第10章 Applet程序 166
10.1 Applet模型 166
10.1.1 Applet与Web 166
10.1.2 Applet运行时刻环境 167
10.1.3 Applet的限制 168
10.1.4 Applet的安全下载 168
10.2.2 Applet程序的生命周期 169
10.2.1 什么是Applet程序 169
10.2 Applet程序 169
10.2.3 日期显示小应用程序 173
10.3 获取资源 174
10.3.1 Image 176
10.3.2 AudioClip 176
10.3.3 URL 176
10.4 获取参数 177
10.5 小结 180
习题 180
第11章 多线程 181
11.1 多线程概念 181
11.2 Java多线程技术 182
11.3.1 扩展Thread类 183
11.3 线程的建立 183
11.3.2 Runnable接口 185
11.3.3 创建线程 186
11.3.4 线程的优先级 189
11.4 线程控制和管理 191
11.4.1 线程的生命周期 191
11.4.2 线程调度 193
11.4.3 线程通信 196
11.4.4 线程同步 198
11.4.5 死锁 202
11.5 线程分组 202
11.7 多线程应用实例 203
11.6 精灵线程与用户线程 203
11.8 小结 206
习题 207
第12章 网络编程 208
12.1 Socket通信 208
12.1.1 Socket类 208
12.1.2 ServerSocket类 209
12.1.3 InetAddress类 210
12.1.4 Socket通信过程和传输属性 211
12.1.5 创建Socket 212
12.1.6 关闭Socket 213
12.2 Socket通信程序范例 213
12.3 支持多客户连接的Socket通信 218
12.4.1 两个基本类 221
12.4 DatagramSocket通信 221
12.4.2 服务器程序 222
12.4.3 客户程序 224
12.5 多播传输 224
12.5.1 MulticastSocket类 225
12.5.2 MulticastSocket类的应用 225
12.6 URL 227
12.7 Java的互联网协议 228
12.8 小结 230
习题 230
13.2.1 装载类文件 231
13.2 类装载器 231
13.1 引言 231
第13章 Java安全性 231
13.2.2 自定义类装载器 232
13.3 字节码验证 233
13.4 安全管理器和权限 233
13.5 Java2平台安全机制 234
13.5.1 安全策略模型 234
13.5.2 权限使用 235
13.6 安全策略文件 236
13.6.1 工作机制 236
13.6.2 文件格式 236
13.6.3 策略文件应用 238
13.6.4 策略文件范例 238
13.7 小结 239
习题 240
第14章 JDBC编程 241
14.1 JDBC概述 241
14.1.1 ODBC技术 241
14.1.2 JDBC技术 242
14.1.3 JDBC构成 243
14.1.4 JDBC使用方法 244
14.2 JDBC基本编程概念 245
14.2.1 JDBC URL 245
14.2.2 加载驱动程序 246
14.2.3 创建数据库连接 246
14.2.4 DriverManager类 247
14.2.6 Statement接口 248
14.2.5 创建SQL语句对象 248
14.2.7 PreparedStatement接口 249
14.2.8 ResultSet接口 250
14.3 JDBC应用范例 252
14.3.1 创建新的ODBC数据资源 252
14.3.2 JDBC编程的基本步骤 253
14.3.3 范例程序代码 254
14.4 小结 257
习题 257
第15章 RMI编程技术 258
15.1 RMI编程概述 258
15.1.1 RMI编程思想 258
15.1.2 RMI分布式对象应用程序的核心功能 259
15.1.3 RMI体系结构 260
15.2 RMI类和接口 261
15.2.1 java.rmi.Remote接口 261
15.2.2 java.rmi.RemoteException类 261
15.2.3 java.rmi.server.RemoteObject类及其子类 262
15.2.4 java.rmi.registry.LocateRegistry类 262
15.2.5 java.rmi.Naming类 263
15.2.6 java.rmi.server.RemoteServer类 264
15.2.7 java.rmi.server.UnicastRemcteObject类 264
15.2.8 java.rmi.RMISecurityManager类 265
15.3 RMI编译器(rmic) 265
15.4.1 定义和实现远程接口 266
15.4 RMI编程示例 266
15.4.2 编写RMI服务器程序 267
15.4.3 编写RMI客户端程序 268
15.4.4 安全策略文件 269
15.4.5 批处理文件 270
15.5 程序运行结果 271
15.6 在不同机器上运行RMI程序 272
15.6.1 rmiregistry 272
15.6.2 程序修改 272
15.6.3 运行 273
15.7 小结 273
习题 273
16.2 CORBA体系结构 274
第16章 Java与CORBA 274
16.1 CORBA简介 274
16.3 CORBA工作原理 275
16.3.1 ORB 276
16.3.2 IOR 276
16.3.3 CORBA协议栈 277
16.3.4 服务请求实现方式 278
16.4 Java与CORBA的互补性 279
16.5 使用Java开发简单的CORBA应用 279
16.5.1 定义IDL接口 279
16.5.2 使用idltojava转换接口文件 280
16.5.3 idltojava生成的Java文件 280
16.5.4 CORBA服务器 281
16.5.5 CORBA客户机 283
16.5.6 范例程序运行结果 285
16.5.7 在不同计算机上运行范例程序 286
16.6 小结 286
习题 286
第17章 JNI技术 287
17.1 概述 287
17.1.1 JNI定义 287
17.1.2 使用JNI 287
17.2 JNI编程过程 288
17.3 小结 292
习题 292
18.1.1 HTTP协议 293
第18章 应用编程实例 293
18.1 Web服务器 293
18.1.2 Web服务器程序代码 294
18.1.3 程序结构分析 298
18.1.4 显示Web页面 300
18.1.5 运行实例 301
18.2 分布式数据库操作 301
18.2.1 定义远程接口 302
18.2.2 实现远程接口 302
18.2.3 服务器程序 305
18.2.4 客户程序 306
18.2.6 运行程序 308
18.2.5 安全策略文件 308
18.3 声音播放 309
18.3.1 声音文件类型 309
18.3.2 Applet播放音频 310
18.3.3 Appllcation播放音频 312
18.4 小结 313
习题 313
附录1 Java语言参考 314
附录2 Java语言编程规范 318
附录3 JDK工具 323
附录4 关于垃圾收集的一些话 325
附录5 相关网络资源 328
参考文献 329