《Java典型模块与项目实战大全》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:周华清,李为民,张昌龙等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302261520
  • 页数:691 页
图书介绍:本书共32章,分为7篇,以实战开发为原则,以Java热门开发技术与项目案例开发为主线,通过Java开发中最常见的25个典型模块,以及4个完整的项目案例,详细介绍了Java语言的特性、线程开发等知识。

第1篇 Java开发必备基础第1章 搭建Java开发环境 2

教学视频:18分钟 2

1.1 Java的过去、现在和未来 2

1.1.1 Java的历史 2

1.1.2 Java的语言特点 3

1.1.3 Java API简介 3

1.1.4 Java未来发展 4

1.2 Java程序设计环境 5

1.2.1 命令行工具——JDK 6.0 5

1.2.2 安装工具包JDK 6

1.2.3 设置JDK环境 8

1.2.4 集成开发环境安装——MyEclipse 8.5 10

1.2.5 MyEclipse的一些常用操作 11

1.3 创建和运行Java程序 14

1.3.1 手工创建、编译和运行Java程序 14

1.3.2 在MyEclipse 8.5中创建、运行、调试和管理Java项目 15

1.4 小结 16

第2章 Java面向对象编程 17

教学视频:13分钟 17

2.1 面向对象的一些概念 17

2.1.1 面向对象涉及的概念 17

2.1.2 类和对象 19

2.2 面向对象的一些特性 20

2.2.1 继承特性 20

2.2.2 多态特性 21

2.2.3 封装特性 22

2.3 Java中实现的面向对象特性 22

2.3.1 定义类 22

2.3.2 创建对象 23

2.3.3 实现继承 23

2.3.4 实现多态 24

2.3.5 实现封装 26

2.4 小结 27

第3章 Java新特性 28

教学视频:29分钟 28

3.1 Java的一些简单新特性 28

3.1.1 静态导入 28

3.1.2 可变参数函数 30

3.1.3 增强版for循环 31

3.1.4 基本数据的拆、装箱操作(autoboxing和unboxing) 32

3.2 枚举 34

3.2.1 枚举的实现原理 34

3.2.2 枚举的简单应用 36

3.2.3 枚举的高级特性 37

3.3 反射 39

3.3.1 反射的基石——Class类 39

3.3.2 反射的基本应用 41

3.3.3 反射的高级应用 46

3.4 标注 49

3.4.1 标注的简单使用 49

3.4.2 JDK的内置标注 51

3.5 泛型 53

3.5.1 为什么要使用泛型 54

3.5.2 泛型的一些特性 57

3.5.3 泛型的通配符 59

3.6 类加载器 62

3.6.1 什么是类加载器 63

3.6.2 什么是类加载器的委派模型 64

3.6.3 编写一个自己的加载器 67

3.7 动态代理 73

3.7.1 什么是代理 73

3.7.2 动态代理基础类 74

3.7.3 InvocationHandler接口 78

3.7.4 动态代理类的设计模式 81

3.8 小结 83

第2篇 线程开发 86

第4章 学生并发接水(线程Thread) 86

教学视频:9分钟 86

4.1 学生并发接水原理 86

4.1.1 项目结构框架分析 86

4.1.2 项目功能业务分析 86

4.2 不排队形式学生并发接水 87

4.2.1 水龙头类 88

4.2.2 学生类 88

4.2.3 测试类 89

4.3 学生并发接水的其他形式 90

4.3.1 “排队接水”水龙头类 90

4.3.2 “接完水后一起回教室”水龙头类 90

4.4 知识点扩展——线程的基础知识 91

4.4.1 为什么要使用线程 92

4.4.2 多线程程序的编写方式 93

4.5 小结 98

第5章 模拟做饭场景(线程的join()方法) 99

教学视频:7分钟 99

5.1 做饭场景原理 99

5.1.1 项目结构框架分析 99

5.1.2 项目功能业务分析 99

5.2 纷乱的做饭场景 100

5.2.1 儿子的类 100

5.2.2 妈妈的类 101

5.2.3 做饭场景的类 102

5.2.4 修改后的妈妈类 102

5.3 知识点扩展——线程的状态 103

5.3.1 线程的创建状态 103

5.3.2 线程的暂停状态 104

5.3.3 线程的结束状态 106

5.4 小结 109

第6章 火车站售票系统(线程安全知识) 110

教学视频:12分钟 110

6.1 火车站售票系统原理 110

6.1.1 项目结构框架分析 110

6.1.2 项目功能业务分析 111

6.2 没有实现线程安全的火车票售票系统 112

6.2.1 火车票的类 112

6.2.2 售票台的类 113

6.2.3 实现线程安全的火车票售票系统 113

6.3 知识点扩展——线程的同步知识 115

6.3.1 为什么要使用同步机制 115

6.3.2 Synchronized的同步块 117

6.3.3 Synchronized的同步方法 119

6.3.4 死锁的问题 122

6.4 小结 124

第7章 生产者与消费者问题(线程通信知识) 125

教学视频:10分钟 125

7.1 生产者与消费者原理 125

7.1.1 项目结构框架分析 125

7.1.2 项目功能业务分析 125

7.2 无线程通信的生产者与消费者项目 126

7.2.1 生产者类 127

7.2.2 消费者类 128

7.2.3 储存库类 128

7.2.4 测试类 129

7.3 实现线程通信的生产者与消费者项目 130

7.3.1 生产者和消费者的类 130

7.3.2 储存库的类 131

7.4 知识点扩展——线程的通信知识 132

7.4.1 线程通信的基本知识 132

7.4.2 线程通信的具体实例 134

7.5 小结 136

第8章 关机工具(Timer类+系统命令) 137

教学视频:5分钟 137

8.1 关机工具原理 137

8.1.1 项目结构框架分析 137

8.1.2 项目功能业务分析 137

8.2 关机工具的实现过程 139

8.2.1 关机工具的类 139

8.2.2 关机工具的工具类 143

8.3 知识点扩展——关机工具项目涉及的知识 144

8.3.1 Timer和TimerTask类 144

8.3.2 shutdown命令 147

8.3.3 通过shutdown命令实现网络远程关机 150

8.4 小结 152

第3篇 GUI(图形用户界面)开发第9章 典型的图形用户界面(各种组件) 154

教学视频:15分钟 154

9.1 Label和Button的用户界面 154

9.1.1 分析按钮和面板的用户界面 154

9.1.2 按钮和面板的用户界面 155

9.1.3 组件Button和Label的基本知识 156

9.2 复选框的用户界面 157

9.2.1 分析复选框的用户界面 157

9.2.2 按钮和面板的用户界面 158

9.2.3 组件Checkbox和CheckboxGroup的基本知识 159

9.3 下拉菜单和列表的用户界面 160

9.3.1 分析下拉菜单和列表的用户界面 161

9.3.2 下拉菜单和列表的用户界面 162

9.3.3 Choice和List组件的基本知识 164

9.4 输入的用户界面 165

9.4.1 分析输入的用户界面 165

9.4.2 输入的用户界面 167

9.4.3 TextField和TextArea组件的基本知识 169

9.5 滚动条的用户界面 171

9.5.1 分析滚动条的用户界面 171

9.5.2 滚动条的用户界面 172

9.5.3 滚动组件的基本知识 174

9.6 菜单的用户界面 175

9.6.1 分析菜单组件的用户界面 175

9.6.2 菜单的用户界面 177

9.6.3 菜单组件的基本知识 179

9.7 对话框的用户界面 182

9.7.1 分析对话框和文件对话框的用户界面 182

9.7.2 对话框的用户界面 184

9.7.3 Dialog和FileDialog组件的基本知识 187

9.8 小结 188

第10章 计算器(布局管理器) 189

教学视频:5分钟 189

10.1 计算器原理 189

10.1.1 项目结构框架分析 189

10.1.2 项目功能业务分析 189

10.2 计算器的实现过程 191

10.3 知识点扩展——事件机制的高级知识 193

10.3.1 为什么需要版面的配置 194

10.3.2 Java语言中的各种布局管理器 195

10.4 小结 201

第11章 秒表(事件+线程) 202

教学视频:7分钟 202

11.1 秒表原理 202

11.1.1 项目结构框架分析 202

11.1.2 项目功能业务分析 202

11.2 秒表的实现过程 203

11.2.1 秒表类 203

11.2.2 测试秒表的类 206

11.3 知识点扩展——事件机制的基础知识 206

11.3.1 事件处理机制 206

11.3.2 Window事件 208

11.3.3 Mouse事件 210

11.3.4 Key事件 213

11.3.5 其他底层事件 216

11.3.6 事件的高级编写方法 217

11.4 小结 219

第12章 捉迷藏游戏(事件) 220

教学视频:5分钟 220

12.1 捉迷藏游戏原理 220

12.1.1 项目结构框架分析 220

12.1.2 项目功能业务分析 220

12.2 捉迷藏游戏的实现过程 221

12.2.1 捉迷藏游戏项目的原理 221

12.2.2 自定义按钮类 222

12.2.3 测试的类 223

12.3 知识点扩展——事件机制的高级知识 223

12.3.1 事件多重应用 223

12.3.2 事件处理的详细过程 228

12.4 小结 230

第13章 鼠标绘直线(绘图+事件) 231

教学视频:8分钟 231

13.1 鼠标绘直线原理 231

13.1.1 项目结构框架分析 231

13.1.2 项目功能业务分析 231

13.2 鼠标绘直线的实现过程 233

13.2.1 直线的类 233

13.2.2 实现窗口类——通过paint()方法 234

13.2.3 实现窗口类——通过双缓冲技术 236

13.3 知识点扩展——画图的基础知识 237

13.3.1 画图的基础知识 237

13.3.2 各种类型对象的绘制 239

13.4 小结 245

第14章 指针时钟项目(Swing组件+时间算法) 246

教学视频:7分钟 246

14.1 指针时钟原理 246

14.1.1 项目结构框架分析 246

14.1.2 项目功能业务分析 247

14.2 指针时钟的实现过程 247

14.2.1 指针时钟的界面 247

14.2.2 绘制指针时钟的类 249

14.3 知识点扩展——从AWT到Swing的过渡 253

14.3.1 窗口类JFrame 253

14.3.2 按钮类JButton和面板类JLabel 254

14.3.3 单选按钮和复选框组件 258

14.3.4 选择框组件 261

14.3.5 输入框组件 263

14.4 小结 265

第15章 控制动画项目 (JSlider和Timer组件) 266

教学视频:7分钟 266

15.1 控制动画原理 266

15.1.1 项目结构框架分析 266

15.1.2 项目功能业务分析 267

15.2 控制动画的实现过程 267

15.2.1 控制动画的主界面 267

15.2.2 控制动画的逻辑 269

15.3 知识点扩展——JSlider和Timer组件的基础知识 272

15.3.1 使用JSlider组件创建无刻度的滑杆 272

15.3.2 使用JSlider组件创建带数字刻度的滑杆 275

15.3.3 使用JSlider组件创建带字符刻度的滑杆 277

15.3.4 JSlider组件的高级应用 279

15.3.5 Swing中的多线程 283

15.3.6 Timer组件的基础知识 288

15.3.7 Timer组件的应用 289

15.4 小结 293

第16章 记事本(对话框组件) 294

教学视频:54分钟 294

16.1 记事本原理 294

16.1.1 项目结构框架分析 294

16.1.2 项目功能业务分析 294

16.2 记事本的实现过程 300

16.2.1 实现记事本的界面 300

16.2.2 实现菜单功能 303

16.2.3 文件类型的过滤 306

16.3 记事本的实现过程——字体设置对话框 307

16.3.1 字体设置对话框——主界面 307

16.3.2 字体设置对话框——iPanel1组件界面 310

16.3.3 字体设置对话框——其他组件 312

16.4 小结 313

第17章 拼图游戏(GUI综合应用) 314

教学视频:20分钟 314

17.1 拼图游戏原理 314

17.1.1 项目结构框架分析 314

17.1.2 项目功能业务分析 314

17.1.3 拼图游戏项目的原理 316

17.2 拼图游戏的实现过程 317

17.2.1 实现移动功能的按钮类 317

17.2.2 主面板的类 318

17.2.3 主窗口的类 320

17.3 小结 322

第4篇 文件操作和访问 324

第18章 文件属性查看器(GUI+文件操作) 324

教学视频:6分钟 324

18.1 文件属性查看器原理 324

18.1.1 项目结构框架分析 324

18.1.2 项目功能业务分析 324

18.2 文件属性查看器项目 326

18.2.1 实现显示文件信息的自定义窗口 326

18.2.2 自定义窗口的显示 329

18.3 知识点扩展——文件的操作和访问 329

18.3.1 通过FileOp类实现文件创建和删除功能 329

18.3.2 通过FileDir类实现列举文件和目录的功能 331

18.3.3 File类提供的属性和方法 332

18.3.4 文件访问的基本概念 334

18.3.5 文件的基本访问方式——字节方式 336

18.3.6 文件的基本访问方式——字符方式 338

18.3.7 文件的高级访问方式 339

18.4 小结 342

第19章 文件内容查看器(GUI+文件访问) 343

教学视频:6分钟 343

19.1 文件内容查看器原理 343

19.1.1 项目结构框架分析 343

19.1.2 项目功能业务分析 343

19.2 文件内容查看器项目 345

19.2.1 设计项目的界面——文件内容查看器输入界面 345

19.2.2 “打开”菜单项的处理方法 348

19.2.3 单击列表选项的处理方法 348

19.3 知识点扩展——管道的访问 349

19.3.1 管道的访问——字节方式 350

19.3.2 管道的访问——字符方式 351

19.4 知识点扩展——内存的访问 353

19.4.1 内存的访问——字节方式 353

19.4.2 内存的访问——字符和字符串方式 354

19.5 小结 356

第20章 日记簿(GUI+文件访问和操作) 357

教学视频:30分钟 357

20.1 日记簿原理 357

20.1.1 项目结构框架分析 357

20.1.2 项目功能业务分析 357

20.2 日记簿项目 359

20.2.1 设计项目的界面——日记薄输入界面 360

20.2.2 “保存”按钮的事件处理 363

20.2.3 “查看日记”按钮的事件处理 364

20.2.4 设计项目的界面——日记列表界面 365

20.2.5 “查看”按钮的事件处理 367

20.2.6 “删除”按钮的事件处理 368

20.3 知识点扩展——过滤流的基础知识 368

20.3.1 过滤流的缓存(Buffering)类 368

20.3.2 过滤流实现字节和字符相互转换类 372

20.3.3 过滤流特定数据类型类 374

20.3.4 过滤流对象序列化类 378

20.3.5 过滤流打印类 381

20.4 小结 383

第21章 查找和替换项目(GUI+字符串处理) 384

教学视频:10分钟 384

21.1 查找和替换原理 384

21.1.1 项目结构框架分析 384

21.1.2 项目功能业务分析 384

21.2 查找和替换项目——利用AWT组件 386

21.2.1 设计项目的界面——查找和替换输入界面 386

21.2.2 各种按钮的事件处理 389

21.2.3 字符串处理的类 391

21.3 查找和替换项目——利用Swing组件 392

21.3.1 设计项目的界面——查找和替换输入界面 392

21.3.2 各种按钮的事件处理 394

21.4 小结 395

第5篇 Applet程序开发 398

第22章 图像轮显动画项目(显示图像+多线程) 398

教学视频:5分钟 398

22.1 图像轮显动画原理 398

22.1.1 项目结构框架分析 398

22.1.2 项目功能业务分析 398

22.2 图像轮显动画项目 400

22.3 知识点扩展——Applet程序的基础知识 402

22.3.1 Applet程序的执行过程 402

22.3.2 Applet程序的执行环境 402

22.3.3 Applet程序的输出 403

22.3.4 Applet程序的标记 403

22.3.5 参数的传递 404

22.3.6 Applet程序的相关方法 406

22.4 小结 409

第23章 Applet事件监听项目 (事件处理机制) 410

教学视频:5分钟 410

23.1 Applet事件监听原理 410

23.1.1 项目结构框架分析 410

23.1.2 项目功能业务分析 410

23.2 Applet事件监听项目 412

23.2.1 事件监听的类 412

23.2.2 承载事件监听的页面 414

23.3 知识点扩展——MyEclipse开发环境对Applet程序的支持 414

23.3.1 MyEclipse开发环境对Applet项目的支持 415

23.3.2 MyEclipse开发环境对JAR的支持 419

23.4 小结 422

第24章 动画播放项目(音频操作+多线程) 423

教学视频:5分钟 423

24.1 动画播放原理 423

24.1.1 项目结构框架分析 423

24.1.2 项目功能业务分析 423

24.2 动画播放项目 425

24.2.1 动画的类 425

24.2.2 控制动画的类 427

24.3 知识点扩展——Applet程序的高级知识 428

24.3.1 音频播放 428

24.3.2 Applet的上下文对象 430

24.4 小结 431

第6篇 网络编程 434

第25章 网络聊天室(UDP协议+多线程) 434

教学视频:6分钟 434

25.1 网络聊天室原理 434

25.1.1 项目结构框架分析 434

25.1.2 项目功能业务分析 434

25.2 网络聊天室的实现过程 436

25.3 知识点扩展——网络编程和UDP协议 438

25.3.1 网络编程涉及的基本概念 439

25.3.2 套接字(Socket)机制 440

25.3.3 UDP协议类 441

25.3.4 TCP协议类 445

25.3.5 TCP协议客户端类 451

25.4 小结 452

第26章 FTP服务器客户端(FtpClient+I/O处理) 453

教学视频:8分钟 453

26.1 FTP服务器客户端原理 453

26.1.1 项目结构框架分析 453

26.1.2 项目功能业务分析 454

26.2 FTP服务器客户端的实现过程 455

26.2.1 FTP服务器操作的工具类 456

26.2.2 实现文件上传的类 459

26.2.3 实现文件下载的类 459

26.3 知识点扩展——FtpClient类的相关知识 460

26.3.1 实现FTP服务器相关操作类 460

26.3.2 相关JAR包导入问题 462

26.4 小结 464

第27章 Web服务器(HTTP协议) 465

教学视频:8分钟 465

27.1 Web服务器原理 465

27.1.1 项目结构框架分析 465

27.1.2 项目功能业务分析 465

27.2 Web服务器的实现过程 466

27.2.1 实现与浏览器通信的类 466

27.2.2 实现Web服务器的类 469

27.2.3 浏览器所请求的页面 470

27.3 知识点扩展——HTTP协议知识 470

27.3.1 HTTP协议原理 470

27.3.2 实现HTTP协议服务器的原理 471

27.4 小结 471

第28章 QQ聊天工具(Swing+多线程+网络编程) 472

教学视频:39分钟 472

28.1 QQ聊天工具原理 472

28.1.1 项目结构框架分析 472

28.1.2 项目功能业务分析 473

28.2 QQ项目——对象模型的类 476

28.2.1 信息的类 476

28.2.2 “用户”的类 478

28.3 QQ项目——登录功能 478

28.3.1 QQ服务器界面的设计 479

28.3.2 QQ服务器后台程序 480

28.3.3 QQ客户端登录界面的设计 481

28.3.4 QQ客户端后台程序 484

28.3.5 成员列表窗口 485

28.4 QQ项目——聊天功能 487

28.4.1 服务器端的信息转发 488

28.4.2 客户端信息的发送和接收 490

28.4.3 客户端信息转发类 492

28.5 小结 494

第7篇 项目案例实战 496

第29章 人员信息管理项目(接口设计模式+MySQL数据库) 496

教学视频:30分钟 496

29.1 人员信息管理原理 496

29.1.1 项目结构框架分析 496

29.1.2 项目功能业务分析 497

29.2 人员信息管理项目前期准备 502

29.2.1 设计数据库 502

29.2.2 数据库操作相关类 504

29.3 人员信息管理项目——DAO层 505

29.3.1 实现数据连接操作(DAO)的接口 506

29.3.2 实现数据连接操作(DAO)的实现类 507

29.3.3 实现数据连接操作(DAO)的代理类 510

29.3.4 实现数据连接操作(DAO)的工厂类 512

29.4 人员信息管理项目——服务层和表示层 512

29.4.1 人员信息管理项目的服务层 512

29.4.2 人员信息管理项目的表示层 515

29.4.3 工具类 516

29.5 人员信息管理项目——代理类测试 517

29.5.1 测试实现业务功能的各种方法 518

29.5.2 人员信息管理入口类 520

29.6 知识点扩展——设计模式的基础知识 521

29.6.1 工厂设计模式 521

29.6.2 代理设计模式 525

29.7 小结 527

第30章 中国象棋游戏(GUI+游戏规则算法) 528

教学视频:37分钟 528

30.1 象棋游戏原理 528

30.1.1 象棋游戏的基本规则 528

30.1.2 项目结构框架分析 529

30.1.3 项目功能业务分析 529

30.2 象棋游戏项目——象棋游戏的主类 534

30.2.1 实现象棋游戏的主界面 534

30.2.2 实现象棋游戏中添加棋子的功能 537

30.2.3 实现象棋游戏中棋子闪烁的功能 539

30.2.4 处理单击棋子事件 539

30.2.5 处理单击按钮事件 543

30.3 象棋游戏项目——规则的内部类 546

30.3.1 实现卒移动和吃的方法 546

30.3.2 实现炮、车移动和吃的方法 550

30.3.3 实现马移动和吃的方法 554

30.3.4 实现象移动和吃的方法 561

30.3.5 实现士移动和吃的方法 567

30.3.6 实现将移动和吃的方法 572

30.4 小结 578

第31章 俄罗斯方块游戏网络版(Swing+多线程+网络编程) 579

教学视频:60分钟 579

31.1 俄罗斯方块游戏项目原理 579

31.1.1 基本原理 579

31.1.2 项目结构框架分析 580

31.1.3 项目功能业务分析 580

31.2 俄罗斯方块游戏项目——初步设计涉及的对象 589

31.2.1 正方形类 589

31.2.2 俄罗斯方块类 590

31.2.3 俄罗斯方块游戏项目的TOP10分数对象 599

31.3 俄罗斯方块游戏项目——服务器端和客户端 602

31.3.1 表示出俄罗斯方块游戏项目的服务器端 602

31.3.2 表示出俄罗斯方块游戏项目的客户端 605

31.4 俄罗斯方块游戏项目——游戏主界面 607

31.4.1 俄罗斯方块游戏的主界面 608

31.4.2 俄罗斯方块游戏的事件处理类 612

31.4.3 俄罗斯方块游戏的状态工具栏 614

31.5 俄罗斯方块游戏项目——其他界面的设计 616

31.5.1 “关于”面板 616

31.5.2 连接对方面板 618

31.5.3 分数报告面板 620

31.5.4 设置级别面板 624

31.5.5 警告面板和对话框 625

31.5.6 游戏结束面板和对话框 627

31.6 小结 630

第32章 图书管理系统项目(GUI+Oracle数据库) 631

教学视频:59分钟 631

32.1 图书管理系统原理 631

32.1.1 项目结构框架分析 631

32.1.2 项目功能业务分析 631

32.2 图书管理系统项目——图书的操作 640

32.2.1 实现添加图书功能的类 640

32.2.2 实现修改图书功能的类 644

32.2.3 实现浏览图书信息的类 647

32.2.4 实现删除图书信息的类 650

32.3 图书管理系统项目——用户的操作 652

32.3.1 实现添加用户功能的类 653

32.3.2 实现删除用户功能的类 656

32.3.3 实现修改用户功能的类 658

32.3.4 实现用户登录功能的类 661

32.3.5 实现用户列表功能的类 664

32.4 图书管理系统项目——出借图书的操作 665

32.4.1 出借图书操作的类 665

32.4.2 借书列表方法 669

32.4.3 修改出借图书信息方法 672

32.5 图书管理系统项目——归还图书的操作 676

32.5.1 归还图书类 676

32.5.2 修改归还图书信息类 679

32.6 图书管理系统项目——该项目的其他类 683

32.6.1 主窗口类 683

32.6.2 数据库操作 689

32.7 小结 691