1.1 网络与网络协议 1
1.1.1 何谓网络 1
第1章 Internet基本概念 1
1.1.2 何谓网络协议 2
1.1.3 开放系统互连参考模型 2
1.2 TCP/IP协议 2
1.2.1 TCP/IP协议的起源 2
1.2.2 TCP/IP协议族 3
1.3 Internet网络及其发展 4
1.2.3 TCP/IP协议的层次 4
1.3.1 Internet的产生 5
1.3.2 Internet的现状和发展 6
1.3.3 Internet服务与应用 7
1.4 World Wide Web 7
1.4.1 何谓WWW 7
1.4.2 WWW服务的特点 8
1.4.3 WWW的起源 8
1.4.4 客户机/服务器工作模式 8
1.4.6 统一资源定位器(URL:UniformResource Location) 9
1.4.5 WWW浏览器(WWW Browser) 9
1.4.7 超文本传输协议(HTTP:Hyper TextTransfer Protocol) 10
1.4.8 WWW主页(Home Page) 10
1.5 超文本标识语言(HTML) 10
1.6 Java与HTML标记 13
1.7 小结 15
第2章 Java及HotJava概述 16
2.1 何谓Java 16
2.1.1 Java语言 16
2.1.2 Java开发及执行环境 17
2.2.1 Oak——Java原型的问世 18
2.2 Java的起源 18
2.2.2 FirstPerson——几经周折 19
2.2.3 WWW与Mosaic——它山之石 19
2.2.4 Internet Play——改变Java命运的策略 19
2.3 Java的语言特性 20
2.3.1 面向对象 20
2.3.2 可移植性 21
2.3.3 稳定性和安全性 23
2.3.4 简单性 23
2.3.5 高性能 24
2.3.7 分布式 25
2.3.6 动态特性 25
2.4 HotJava浏览器 26
2.4.1 何谓HotJava 26
2.4.2 HotJava的功能 26
2.4.3 HotJava的主要特征 26
2.4.4 HotJava的安全性 27
2.5 小结 28
第3章 建立JAVA开发环境 29
3.1 下载JDK 29
3.1.1 利用WWW服务下载JDK 29
3.1.1 利用匿名FTP服务下载JDK 30
3.2 安装JDK 32
3.2.1 在Windows 95/NT上安装JDK… 32
3.2.2 在Sun Solaris上安装JDK 35
3.3 获取并安装HotJava浏览器 35
3.4 JDK环境工具及其使用 36
3.4.1 小应用程序观察器 36
3.4.2 Java编译器 37
3.4.3 Java解释器 39
3.4.4 Java文档生成器 42
3.4.5 类分解器 42
3.4.6 Java调试器 43
3.4.7 C文件生成器javah 44
3.5 小结 44
第4章 数据类型、变量和表达式 46
4.1 概述 46
4.1.1 本章主要内容 46
4.1.2 Java程序的基本结构 47
4.2 Java符号集 48
4.2.1 注释 48
4.2.2 标识符 49
4.3.1 整数 50
4.3 常量(Literals) 50
4.2.3 关键字 50
4.3.2 浮点数 51
4.3.3 布尔型常量 51
4.3.4 字符型常量 51
4.3.5 字符串常量 52
4.4 运算符和分隔符 52
4.5 变量声明 53
4.5.1 声明整数类型 53
4.6 变量的作用域 54
4.5.5 声明数组 54
4.5.3 声明字符类型 54
4.5.4 声明布尔类型 54
4.5.2 声明浮点类型 54
4.7 运算符及其优先级 55
4.7.1 整数运算符 56
4.7.2 布尔运算符 59
4.7.3 浮点数运算符 61
4.7.4 数组运算符 61
4.7.5 字符串运算符 62
4.9 小结 63
4.8 类型转换 63
第5章 流程控制 65
5.1 概述 65
5.2 条件语句 66
5.2.1 简单条件语句 66
5.2.2 复合条件语句 67
5.2.3 条件语句的使用 68
5.3 循环语句 68
5.3.1 while语句 68
5.3.2 do语句 69
5.3.3 for语句 70
5.4 开关语句 71
5.5 转移语句 73
5.6 返回语句 75
5.7 小结 75
第6章 类、接口和包 77
6.1 面向对象编程基础 77
6.1.1 过程式编程与面向对象编程 77
6.1.2 面向对象编程的基本概念 77
6.2 Java语言中的对象和类 78
6.2.1 对象和类层次 78
6.2.3 实例变量 79
6.2.2 类声明 79
6.3 方法 80
6.3.1 方法声明 80
6.3 2 对象的可访问性 82
6.3.3 方法重载 83
6.4 静态成员 83
6.5 对象的创建和撤销 84
6.5.1 创建对象 84
6.5.2 new操作符 85
6.5.3 撤销对象 85
6.6 main()方法 86
6.7.1 包声明 87
6.7 包(Package) 87
6.7.2 装载其他包 88
6.8 继承 88
6.8.1 extends修饰符 88
6.8.2 方法覆盖(overriding) 89
6.8.3 抽象方法和类 90
6.8.4 接口 90
6.8.5 类转换(casting) 92
6.9 null,this和super 92
6.10.2 变量的final修饰符 93
6.10 final修饰符 93
6.10.1 类的final修饰符 93
6.10.3 方法的final修饰符 94
6.11 小结 94
第7章 Java类库构成与语言基础类库 95
7.1 Java类库的整体结构 95
7.1.1 类库 95
7.1.2 HotJava类库 96
7.2 语言基础类库 98
7.2.2 数据类型的对象包装类 99
7.2.1 Object类 99
7.2.3 Math类 100
7.2.4 字符串类 101
7.2.5 System类 104
7.3 小结 106
第8章 I/O类库及其使用 107
8.1 概述 107
8.2 InputStream和PrintStream 108
8.2.1 InputStream 108
8.2.2 read()方法 108
8.3 文件访何 110
8.2.3 PrintStream 110
8.3.1 File类 111
8.3.2 RandomAccessFile类 113
8.4 其他输入输出操作 117
8.4.1 文件拷贝 117
8.4.2 gerp 120
8.4.3 管道 121
8.5 小结 127
9.2 日期时间类 128
9.1 Utility类库的大致构成 128
第9章 Utility类库及其使用 128
9.3 向量类及其使用 130
9.3.1 向量和数组的异同 130
9.3.2 向量类的构造函数、实例变量和方法 131
9.3.3 建立向量实例 132
9.3.4 向量维护 133
9.3.5 对象查找 134
9.4 哈希表类及其使用 135
9.4.1 哈希表类的构造函数、实例变量和成员方法 135
9.4.2 创建、维护哈希表 136
9.5.1 堆栈类的构造函数、实例变量和成员方法 137
9.4.3 查找关键字 137
9.5 堆栈类 137
9.5.2 使用堆栈类 138
9.6 小结 139
第10章 浏览器类库和Applet编程 140
10.1 浏览器类库的构成 140
10.2 Applet类的继承层次 140
10.3 Applet类的构造函数、实例变量和方法 141
10.4 Appler程序的结构 143
10.5.1 扩充Applet基类 144
10.5 Applet编程技巧 144
10.5.2 获取属性 145
10.5.3 装载图象 146
10.5.4 显示图象 146
10.5.5 鼠标事件 148
10.5.6 键盘事件 149
10.5.7 声音播放 149
10.6 小结 151
第11章 AWT类库及其使用 152
11.1 AWT类库的继承层次 152
11.2 AWT的显示机制 153
11.3 AWT构件类及其使用 154
11.4 构件在独立应用程序中的使用 157
11.4.1 Graphics类 157
11.4.2 Color类 158
11.4.3 扩充Button类 158
11.4.4 程序总体框架 159
11.5 小结 162
第12章 网络类库 163
12.1 Java与网络编程 163
12.2.2 InetAddress 164
12.2 Java网络基础类库 164
12.2.1 Java网络基础类库的构成 164
12.2.3 TelnetInputStream和TelnetOutputStream 165
12.3 用Java语言建立ftp会话过程 165
12.3.1 类FtpClient的实例变量 166
12.3.2 创建类实例 166
12.3.3 打开连接 166
12.3.7 ftp程序实例 167
12.3.6 传输数据 167
12.3.5 执行FTP命令 167
12.3.4 注册到FTP服务器 167
12.4 Java与NNTP协议 168
12.5 Java与WWW协议 169
12.5.1 JavaWWW类库的构成 169
12.5.2 net.www ?ml 169
12.5.3 net.www.http 171
12.5.4 net.www.content.image 171
12.6 小结 171
13.1 出错处理的两种方式 173
13.2 Throw,Catch和Try 173
第13章 出错与异常情况处理 173
13.2.1 Throw 174
13.2.2 try 174
13.2.3 catch 174
13.2.4 嵌套的异常情况处理 176
13.3 finally语句 176
13.4 运行时异常情况 177
13.4.3 ArrayStoreException 178
13.4.4 ClassCastException 178
13.4.2 ArrayIndexOutOfBoundsException 178
13.4.1 ArithmeticException 178
13.4.5 IllegalArgumentException 179
13.4.6 IllegalThreadStateException 179
13.4.7 IndexOutOfBoundException 179
13.4.8 NegativeArraySizeException 179
13.4.9 NullPointerException 179
13.4.10 NumberFormatException 180
13.4.11 SecurityException 180
13.4.12 IncompatibleClassChangeException 180
13.4.13 OutOfMemoryException 180
13.4.15 IncompatibleTypeException 181
13.4.16 UnsatisfiedLinkException 181
13.4.14 NoClassDefFoundException 181
13.4.17 InternalException 182
13.5 小结 182
第14章 Java的多线程机制 183
14.1 理解多线程 183
14.1.1 “线程”与“进程” 183
14.1.2 线程的执行与并发性 183
14.1.6 线程组 184
14.1.5 同步 184
14.1.4 调度 184
14.1.3 优先级 184
14.2 线程的生命周期 185
14.2.1 Newborn 185
14.2.2 Runable 185
14.2.3 Running 186
14.2.4 Blocked 186
14.2.5 Dead 186
14.3 Java的多线程实现机制 186
14.3.1 创建类Thread的子类 186
14.3.2 实现Runnable接口 189
14.4.1 构造函数 190
14.4 Thread类 190
14.4.2 实例变量 191
14.4.3 方法 191
14.5 线程同步 192
14.5.1 synchronized关键字 192
14.5.2 wait()和notify() 192
14.6 编程实例 193
14.7 小结 195
15.3.3 声明类变量和实例变量 196
15.2 RenderImageApp功能简介 196
15.1 Java程序的基本类型 196
第15章 Java编程实例详解 196
15.3 建立Render ImageApp应用程序 197
15.3.1 装载所需的包 197
15.3.2 声明类RenderImageApp 197
15.3.4 创建构造函数 198
15.3.5 创建main()方法 200
15.3.6 实现main()方法 200
15.3.7 声明类renderWindow 202
15.3.8 声明类inputWindow 203
15.3.9 声明类urlField 205
15.3.11 运行RenderImageApp 207
15.3.10 保存并编译RenderImageApp.java 207
15.4 小结 208
第16章 编写协议句柄和内容句柄 209
16.1 协议句柄概述 209
16.2 协议句柄的编写过程 209
16.2.1 准备工作——创建目录结构 210
16.2.2 创建文件Handler.Java 210
16.2.3 声明net.www.protocol.run包 210
16.2.4 装入所需的系统包 210
16.2.5 声明Handler类 210
16.2.7 实现openStream 211
16.2.6 声明并实现openStream方法 211
16.2.8 编译Handler类 213
16.2.9 修改环境变量CLASSPATH…… 213
16.2.10 测试Protocaol handler 213
16.3 协议句柄的源程序清单 213
16.4 内容句柄概述 214
16.5 编写内容句柄 215
16.5.1 创建目录 215
16.5.2 编写句柄程序 215
16.5.4 测试内容句柄 216
16.5.3 更改HotJava环境变量CLASSPATH 216
16.6 小结 217
第17章 Java与Internet网络程序设计 218
17.1 网络资源的下载与分析 218
17.1.1 下载URL所指向的资源 218
17.1.2 使用URLConnection类对内容进行简单分析 219
17.2 编写数据报应用程序 220
17.2.1 发送数据报 220
17.2.2 接收数据报 221
17.2.2 客户机/服务器的工作模式 222
17.3.1 客户机/服务器的基本概念 222
17.3 编写客户机/服务器应用程序 222
17.3.3 客户机/服务器编程实例 223
17.3.4 利用回调技术编写客户机/服务器应用程序 229
17.4 小结 231
附录A 按字母顺序索引的JDK类库清单 232
附录B JDK类库清单 425
附录C Java资源 436
附录D Java和C++之间的不同点 441
附录E Java虚拟机简介 444
附录F Unicode编码标准简介 447