第一章 进驻爪哇岛—Java的基本语法 1
1.1 讲解 2
1.1.1 爪哇岛在历史与演变 2
1.1.2 爪哇岛基本生存规则 4
1.1.3 爪哇岛上新人新风尚 11
1.2 练习 15
1.2.1 搭建Java开发环境 15
1.2.2 体验Java程序开发 21
1.2.3 J2SE5.0新特性实践 26
1.3 小结 35
第2章 对象无处不在—面向对象的基本概念 37
2.1 讲解 38
2.1.1 什么是面向对象 38
2.1.2 面向对象的基本概念 38
2.1.3 Java对面向对象的支持 41
2.2 练习 42
2.2.1 JavaBeans技术开发可重要组建 42
2.2.2 面向对象在基础实践 44
2.3 小结 53
第3章 当一个变成多个—集合框架的基本概念 53
3.1 讲解 54
3.1.1 集合概述 54
2.1.2 Collection接口 54
3.1.3 泛型(Generics) 56
3.1.4 Map接口 57
3.2 练习 59
3.2.1 创建课程管理系统 59
3.3 小结 68
第4章 数据传送的管道—JavaⅠ/O 71
4.1 讲解 72
4.1.1 流―Java I/O的基础 72
4.1.2 JavaI/O库 72
4.2 练习 74
4.2.1 数据传送的通道 74
4.2.2 管道的一端 76
4.2.3 文件处理 78
4.2.4 基于对象的读写 80
4.2.5 NIO 85
4.3 小结 89
第5章 如何走得更稳—测试驱动的基本概念 91
5.1 讲解 92
5.1.1 什么是JUnit 92
5.1.2 使用JUnit的一般过程 92
5.1.3 安装JUnit 93
5.2 编写单元测试 93
5.2.1 第1个单元测试 93
5.3 编写单元测试的步骤 95
5.3.1 常用断言 95
5.3.2 TestSuite 96
5.3.3 JUnit框架组成 96
5.4 练习 97
5.4.1 创建JUnit单元测试 97
5.4.2 setUp和tearDown 102
5.4.3 使用TestSuite 103
5.5 补充:JUnit4的新增特性 104
5.5.1 测试方法 104
5.5.2 初始化方法 105
5.5.3 TestSuite初始化 106
5.5.4 兼容性 106
5.6 小结 107
第6章 三头六臂—线程和同步的基本概念 109
6.1 讲解 110
6.1.1 什么是线程 110
6.1.2 创建线程 110
6.1.3 线程的生命周期 112
6.1.4 线程的优先级 114
6.1.5 中断线程 115
6.1.6 线程组 116
6.1.7 处理未被捕获的异常 117
6.1.8 守护线程 117
6.2 同步与锁 118
6.2.1 synchronized和同步 118
6.2.2 锁对象 120
6.2.3 Condition对象 121
6.2.4 再谈synchronized 122
6.3 协调任务 124
6.3.1 线程池和Executor 124
6.3.2 Callable和Future 126
6.3.3 ScheduledExecutorService 127
6.4 线程安全的集合和同步器 128
6.4.1 阻塞队列 128
6.4.2 指定阻塞时间 130
6.4.3 同步器 131
6.4.4 Atomic类型 134
6.5 练习 134
6.5.1 线程间同步 134
6.5.2 生产者、消费者问题 137
6.6 小结 140
第7章 我要彩色照片—Swing的基本概念 141
7.1 讲解 142
7.1.1 Swing的基本概念 142
7.1.2 Swing组件继承关系 142
7.1.3 Swing组件一览 143
7.1.4 Swing和MVC设计模式 144
7.1.5 Swing的单线程模型 145
7.2 练习 148
7.2.1 第1个Swing程序 148
7.2.2 外观感觉 150
7.2.3 事件侦听器 151
7.2.4 Swing基本控件和窗口 155
7.2.5 Swing容器 176
7.2.6 Swing高级控件 181
7.3 小结 187
第8章 朋友们,你们在哪里—Java数据库运用 189
8.1 讲解 190
8.1.1 数据库的基本概念 190
8.1.2 了解JavaDB 190
8.1.3 JDBC与JDBC4. 191
8.1.4 用Java让数据库动起来 192
8.1.5 事务处理简介 194
8.2 练习 195
8.2.1 数据库操作 195
8.2.2 我的联系手册 199
8.2.3 事务处理 221
8.3 小结 222
第9章 还想再见到你—数据持久化 223
9.1 讲解 224
9.1.1 数据持久化的基本概念 224
9.1.2 数据持久化技术简介 224
9.1.3 Java中的对象关系映射 225
9.1.4 对象XML序列化 227
9.2 练习 228
9.2.1 我的联系手册(JPA实现) 228
9.2.2 我的联系手册(JAXB实现) 238
9.3 小结 242
第10章 准备环球旅行—应用程序国际化 243
10.1 讲解 244
10.1.1 概念介绍 244
10.1.2 设置Locale 249
10.1.3 隔离语言环境相关数据 252
10.1.4 格式化 258
10.2 练习 266
10.2.1 对单独的文件进行国际化 266
10.2.2 在设计时国际化GUI表单 273
10.2.3 国际化整个项目 277
10.3 小结 281
第11章 请保持联系—Java网络连接 283
11.1 讲解 284
11.1.1 Java网络连接的基本概念 284
11.1.2 使用TCP协议的Socket网络编程 285
11.1.3 使用UDP协议的Socket网络编程 289
11.1.4 多点传送和MulticastSocket类 290
11.1.5 NIO及相关技术 290
11.2 练习 291
11.2.1 ServerSocket与Socket示例:开发一个Server-Client模型的程序 291
11.2.2 多点传送示例 293
11.2.3 打造你自己的QQ 295
11.3 小结 315
第12章 找个好管家—JMX 317
12.1 讲解 318
12.1.1 什么是JMX 318
12.1.2 JMX基本概念 318
12.1.3 JMX管理应用开发 323
12.2 练习 325
12.2.1 建立JMX开发环境 325
12.2.2 创建拼词游戏程序 326
12.2.3 分布式管理扇形绘制Applet程序 330
12.3 小结 350
第13章 让我们更专业—软件工程的基本概念 351
13.1 讲解 352
13.1.1 软件工程的基本概念 352
13.1.2 版本控制系统 356
13.1.3 统一建模语言 359
13.2 练习 360
13.2.1 建立cvs的使用环境和基本操作 360
13.2.2 使用标记和分支 373
13.3 使用UML建模 376
13.3.1 对基本结构建模 376
13.3.2 对高级结构建模 381
13.4 小结 387
索引 389