理论篇 1
第1章 线程 2
1.1 线程基础 4
1.1.1 线程概述 4
1.1.2 Java线程模型 4
1.2 线程使用 5
1.2.1 创建线程 5
1.2.2 线程状态 8
1.2.3 线程优先级 12
1.2.4 线程组 14
1.3 多线程 15
1.3.1 多线程概述 15
1.3.2 线程同步 16
1.3.3 线程通信 19
1.3.4 死锁 22
小结 24
练习 25
第2章 网络编程 26
2.1 网络基础 28
2.1.1 网络类型 28
2.1.2 TCP/IP协议 28
2.1.3 IP地址 30
2.1.4 端口 31
2.1.5 域名与DNS 31
2.2 网络API 32
2.2.1 InetAddress类 32
2.2.2 URL类 34
2.2.3 URLConnection类 36
2.3 基于TCP的网络编程 37
2.3.1 Socket类 38
2.3.2 ServerSocket类 39
2.3.3 C/S实例 40
2.3.4 多线程Socket通信 43
小结 45
练习 45
第3章 Swing图形界面(1) 47
3.1 Swing概述 49
3.1.1 Swing简介 49
3.1.2 Swing的结构 49
3.2 容器 50
3.2.1 顶层容器 50
3.2.2 中间容器 52
3.3 布局 53
3.3.1 FlowLayout 53
3.3.2 BorderLayout 55
3.3.3 GridLayout 56
3.3.4 CardLayout 58
3.3.5 NULL布局 60
3.4 Swing常用组件 61
3.4.1 按钮 61
3.4.2 标签 62
3.4.3 图标 62
3.4.4 文本组件 63
3.4.5 复选框 64
3.4.6 单选按钮 65
3.4.7 列表框 66
3.4.8 组合框 67
3.5 Swing组件示例 67
3.5.1 登录界面 67
3.5.2 注册界面 68
小结 71
练习 72
第4章 事件处理 73
4.1 事件概述 75
4.1.1 Java事件处理机制 75
4.1.2 事件处理要点 75
4.1.3 Java事件体系结构 76
4.2 事件处理 76
4.2.1 事件类 76
4.2.2 监听接口 77
4.3 事件示例 78
4.3.1 行为事件处理示例 78
4.3.2 选项事件处理示例 80
4.3.3 键盘事件处理 82
4.3.4 鼠标事件处理 84
4.4 适配器 85
4.5 多事件处理 87
小结 90
练习 90
第5章 Swing图形界面(2) 92
5.1 菜单 94
5.1.1 菜单栏(JMenuBar) 94
5.1.2 菜单(JMenu) 94
5.1.3 菜单项(JMenuItem) 94
5.1.4 菜单示例 95
5.1.5 弹出式菜单 97
5.2 工具栏 99
5.3 对话框 100
5.3.1 标准对话框 100
5.3.2 对话框 104
5.3.3 文件对话框 107
5.3.4 颜色对话框 111
5.4 JTable类 114
5.4.1 表格 114
5.4.2 表格模型 115
5.4.3 表格列模型 115
5.4.4 表格选择模式 116
5.5 JTree类 119
5.5.1 树 119
5.5.2 树模型 120
5.5.3 树节点 120
5.5.4 树事件 121
小结 124
练习 124
第6章 JDBC 125
6.1 JDBC基础 127
6.1.1 JDBC概述 127
6.1.2 JDBC结构 127
6.1.3 JDBC类型 128
6.1.4 JDBC与ODBC 129
6.2 访问数据库 130
6.2.1 连接数据库 131
6.2.2 连接实例 134
6.3 操作数据库 136
6.3.1 Statement接口 136
6.3.2 PreparedStatement接口 140
6.3.3 CallableStatement接口 142
6.4 集元数据 145
6.4.1 DatabaseMetaData接口 145
6.4.2 ResultSetMetaData接口 147
6.5 事务操作 148
6.5.1 事务 148
6.5.2 保存点 150
小结 151
练习 152
第7章 RMI 153
7.1 RMI概述 155
7.1.1 分布式对象 155
7.1.2 RMI 156
7.1.3 RMI机制原理 157
7.2 开发RMI 158
7.2.1 定义远程接口 158
7.2.2 实现远程接口 159
7.2.3 编写服务器类 160
7.2.4 编写客户端 161
7.2.5 部署运行 162
7.2.6 注意事项 164
小结 164
练习 165
第8章 国际化 167
8.1 国际化和本地化 169
8.1.1 国际化概述 169
8.1.2 Locale类 170
8.2 格式化处理 173
8.2.1 数字格式化 173
8.2.2 货币格式化 175
8.2.3 日期格式化 175
8.3 资源包 179
8.3.1 ListResourceBundle 180
8.3.2 PropertyResourceBundle 182
8.4 消息格式化 183
8.5 字符集 186
小结 187
练习 188
第9章 正则表达式 189
9.1 正则表达式 191
9.1.1 正则表达式概述 191
9.1.2 模式 191
9.1.3 常用正则表达式 195
9.2 在Java中应用正则表达式 196
9.2.1 Pattern类 197
9.2.2 Matcher类 198
9.2.3 应用实例 201
小结 205
练习 206
实践篇 207
实践1 线程 208
实践指导 208
实践1.G.1 208
实践1.G.2 211
实践1.G.3 213
知识拓展 217
1.定时器 217
2.ThreadLocal 218
拓展练习 220
练习1.E.1 220
练习1.E.2 220
实践2 网络编程 221
实践指导 221
实践2.G.1 221
实践2.G.2 224
实践2.G.3 227
知识拓展 230
1.基于UDP的网络编程 230
2.基于UDP的组播通信 233
拓展练习 236
练习2.E.1 236
实践3 Swing图形界面(1) 237
实践指导 237
实践3.G.1 237
实践3.G.2 238
实践3.G.3 242
实践3.G.4 244
知识拓展 246
1.JSplitPane 246
2.JScrollPane 247
拓展练习 249
练习3.E.1 249
练习3.E.2 249
实践4 事件处理 250
实践指导 250
实践4.G.1 250
实践4.G.2 253
实践4.G.3 258
知识拓展 266
1.AdjustmentListener 266
2.人物眼球转动 268
拓展练习 269
练习4.E.1 269
练习4.E.2 269
实践5 Swing图形界面(2) 270
实践指导 270
实践5.G.1 270
实践5.G.2 273
实践5.G.3 276
实践5.G.4 281
知识拓展 291
1.2D绘图 291
拓展练习 293
练习5.E.1 293
实践6 JDBC 294
实践指导 294
实践6.G.1 294
实践6.G.2 296
知识拓展 301
1.可滚动和可更新的结果集 301
2.操作BLOB/CLOB数据 304
3.批处理 307
4.使用JDBC连接不同的数据库 309
拓展练习 310
练习6.E.1 310
练习6.E.2 310
实践7 RMI 311
实践指导 311
实践7.G.1 311
知识拓展 317
1.CORBA技术 317
2.SOAP 319
拓展练习 320
练习7.E.1 320
练习7.E.2 320
附录A 正则表达式元字符 321