第Ⅲ篇 高级应用 357
第15章 齐头并进,并发任务的处理——多线程 357
15.1感知多线程 357
15.1.1现实生活中的多线程 357
15.1.2进程与线程 357
15.1.3多线程的优势 358
15.2体验多线程 359
15.2.1通过继承Thread类实现多线程 360
15.2.2通过Runnable接口实现多线程 362
15.2.3两种多线程实现机制的比较 364
15.2.4 Java 8中运行线程的新方法 367
15.3线程的状态 369
15.4线程操作的一些方法 373
15.4.1取得和设置线程的名称 373
15.4.2判断线程是否启动 376
15.4.3守护线程与setDaemon方法 377
15.4.4线程的联合 378
15.4.5如何中断一个线程 380
15.5多线程的同步 383
15.5.1同步问题的引出 383
15.5.2同步代码块 385
15.5.3同步方法 386
15.5.4 死锁 388
15.6线程间通信 391
15.6.1问题的引出 391
15.6.2问题如何解决 392
15.7线程池技术及其应用 400
15.7.1线程池的概念 400
15.7.2线程池的用法 401
15.8高手点拨 407
15.9实战练习 408
第16章 文件I/O操作 410
16.1输入/输出的重要性 410
16.2读写文本文件 411
16.2.1 File类 411
16.2.2文本文件的操作 414
16.2.3字符编码问题 417
16.3文本的输入和输出 420
16.3.1读入文本单词 420
16.3.2读入单个字符 421
16.3.3判断字符分类的方法 421
16.3.4读入一行文本 422
16.3.5将字符转换为数字 423
16.4字节流与字符流 424
16.4.1字节输出流——OutputStream 425
16.4.2字节输入流——InputStream 425
16.4.3字符输出流——Writer 428
16.4.4字符输入流——Reader 429
16.4.5字节流与字符流的转换 431
16.5命令行参数的使用 434
16.5.1 System类对I/O的支持 434
16.5.2 Java命令行参数解析 434
16.6高手点拨 438
16.7实战练习 438
第17章 数据持久化方法——对象序列化 440
17.1对象序列化的基本概念 440
17.2序列化与对象输出流ObjectOutputStream 441
17.3反序列化与对象输入流ObjectlnputStream 442
17.4序列化对象的版本号serialVersionU ID 444
17.5 transient关键字 445
17.6 Externalizable接口 445
17.7高手点拨 448
17.8实战练习 448
第18章 绚丽多彩的图形界面——GUI编程 450
18.1 GUI概述 450
18.2 GUI与AWT 450
18.3 AWT容器 451
18.3.1 Frame窗口 452
18.3.2 Panel面板 456
18.3.3布局管理器 457
18.4 AWT常用组件 462
18.4.1按钮与标签组件 463
18.4.2 TextField文本域 465
18.4.3图形控件 467
18.5事件处理 468
18.5.1事件处理的流程 468
18.5.2常用的事件 469
18.5.3小案例——会动的乌龟 474
18.6高手点拨 477
18.7实战练习 478
第19章 Swing GUI编程 480
19.1 Swing概述 480
19.2 Swing的基本组件 481
19.2.1 JTable表格 481
19.2.2 JComboBox下拉列表框 483
19.2.3组件常用方法 485
19.3 Swing的应用 486
19.3.1小案例——简易的学籍管理系统 486
19.3.2小案例——简易随机验证码的生成 489
19.4高手点拨 492
19.5实战练习 492
第20章 打通数据的互联——JavaWeb初步 494
20.1 Web开发的发展历程 494
20.1.1静态Web处理阶段 494
20.1.2动态Web处理阶段 495
20.2 JSP的运行环境 497
20.2.1安装Tomcat 497
20.2.2配置虚拟目录 500
20.2.3编写第1个JSP程序 502
20.2.4 Tomcat执行流程 503
20.3基础语法 503
20.3.1显式注释与隐式注释 504
20.3.2 Scriptlet 505
20.3.3 Page指令 507
20.3.4包含指令 509
20.3.5跳转指令 513
20.4高手点拨 515
20.5实战练习 516
第21章 JSP进阶——内置对象与Servlet 518
21.1内置对象 518
21.1.1 request对象 518
21.1.2 response对象 521
21.1.3 session对象 528
21.1.4其他内置对象 532
21.2 Servlet 535
21.2.1 Servlet简介 535
21.2.2第1个Servlet程序 535
21.2.3 Eclipse中的Servlet配置 539
21.3高手点拨 545
21.4实战练习 546
第22章 高效开发的利器——常用MVC设计框架 548
22.1框架的内涵 548
22.2 Struts开发基础 549
22.2.1 Struts简介 549
22.2.2 MVC的基本概念 550
22.2.3 Struts 2的工作原理 550
22.2.4下载Struts 2类库 551
22.2.5从Struts 2的角度理解MVC 552
22.2.6第1个Struts 2实例 553
22.2.7运行测试StrutsDerno 工程 562
22.2.8 小结 563
22.3高手点拨 564
22.4实战练习 564
第23章 高效开发的利器——Spring框架 566
23.1 Spring快速上手 566
23.1.1 Spring基本知识 566
23.1.2 Spring框架模块 566
23.1.3 Spring开发准备 567
23.1.4 Spring框架配置 567
23.2 Spring开发实例 570
23.3 Spring和Struts结合 575
23.4高手点拨 576
23.5实战练习 576
第24章 让你的数据库记录像操作变量一样方便——Hibernate 578
24.1 Hibernate开发基础 578
24.2 Hibernate开发准备 578
24.2.1下载Hibernate开发包 578
24.2.2在Eclipse中部署Hibernate开发环境 579
24.2.3安装部署MySQL驱动 579
24.3 Hibernate开发实例 580
24.3.1开发Hibernate项目的完整流程 581
24.3.2创建HibernateDemo项目 581
24.3.3创建数据表USER 583
24.3.4 编写POJO映射类User.java 584
24.3.5编写映射文件User.hbm.xml 586
24.3.6 编写hibernate.cfg.xml配置文件 586
24.3.7编写辅助工具类HibernateUtil.Java 588
24.3.8编写DAO接口 UserDAO.java 590
24.3.9编写DAO层实现类 591
24.3.10编写测试类UserTest.java 593
24.4高手点拨 596
24.5实战练习 596
第25章 移动互联的精彩——Android编程基础 598
25.1 Android简介 598
25.1.1 Android系统架构 598
25.1.2 Android已发布的版本 598
25.1.3 Android应用开发特色 599
25.2搭建开发环境 599
25.2.1准备所需要的软件 599
25.2.2开发环境的搭建 599
25.3创建第1个Android项目 601
25.3.1创建HelloWorld项目 601
25.3.2运行HelloWorld 602
25.3.3解析第1个Android程序 603
25.4详解基本布局 605
25.4.1线性布局 606
25.4.2相对布局 610
25.4.3帧布局 613
25.4.4 TableLayout 614
25.5常见控件的使用方法 616
25.5.1 TextView 616
25.5.2 EditText 617
25.5.3 Button 619
25.5.4 ProgressDialog 622
25.5.5 ImageView 624
25.6 Activity详细介绍 624
25.6.1 Activity生命周期 625
25.6.2 Activity状态 625
25.6.3 Activity启动模式 626
25.7高手点拨 626
25.8实战练习 626
第Ⅳ篇 项目实战 629
第26章 Android项目实战——智能电话回拨系统 629
26.1系统概述 629
26.1.1背景介绍 629
26.1.2运行程序 629
26.1.3系统需求分析 630
26.1.4 详细功能设计 630
26.2系统实现 630
26.2.1主界面 630
26.2.2修改密码 632
26.2.3意见反馈 634
26.3项目功能用到的知识点讲解 638
26.3.1读取通讯录 638
26.3.2读取联系人头像 642
26.3.3读取短信 642
26.4高手点拨 644
26.5实战练习 644
第27章 Android进阶项目实战——理财管理系统 646
27.1系统概述 646
27.1.1背景介绍 646
27.1.2运行程序 646
27.1.3系统需求分析 647
27.2系统数据存储的设计和实现 647
27.2.1数据分析和设计 647
27.2.2数据库设计和实现 649
27.2.3 Shared Preferences存储方式 655
27.2.4 文件存储方式 656
27.3系统详细设计和实现 657
27.3.1欢迎界面模块设计和实现 657
27.3.2用户注册登录模块设计和实现 660
27.3.3随时查看记录模块设计和实现 669
27.3.4查看记录模块设计和实现 674
27.3.5预算模块设计和实现 680
27.3.6写心情模块设计和实现 684
27.4系统开发经验和技巧 694
27.4.1项目经验 694
27.4.2项目技巧 694
27.5高手点拨 694
27.6实战练习 694
第28章 Java Web项目实战——我的饭票网 696
28.1系统分析 696
28.1.1需求分析 696
28.1.2编写项目计划书 696
28.2系统设计 697
28.2.1系统目标 697
28.2.2系统功能设计 697
28.3数据库设计 697
28.3.1功能分析 697
28.3.2基本表设计 698
28.4用户注册模块设计 701
28.4.1用户注册模块概述 702
28.4.2与用户注册有关的数据库连接及操作类 702
28.4.3用户注册界面设计 708
28.4.4用户注册事件处理页面 711
28.5用户登录模块设计 713
28.5.1用户登录模块概述 713
28.5.2与用户登录有关的数据库连接及操作类 713
28.5.3用户登录界面设计 714
28.5.4用户登录验证处理页面 716
28.6用户主页面模块设计 718
28.6.1用户主页面模块概述 718
28.6.2用户主页面有关的数据库连接及操作类 718
28.6.3用户主页面界面设计 723
28.7高手点拨 726
28.8实战练习 726
第29章 Java Web项目实战——客户关系管理项目 728
29.1系统概述 728
29.1.1系统开发背景 728
29.1.2项目开发环境的搭建 728
29.2系统分析和设计 729
29.2.1系统需求分析 729
29.2.2数据库分析和设计 730
29.3系统架构分析和设计 734
29.3.1分层结构和MVC模式 734
29.3.2模式一转为模式二的过程:登录例子 734
29.3.3程序的分层及层次间的关系 735
29.3.4接口的设计和实现 736
29.3.5 VO的设计和实现 740
29.4用户登录模块设计 742
29.4.1模块需求细化 742
29.4.2模块相关数据库实现细节 743
29.4.3用户登录界面设计 743
29.4.4模块详细设计和实现 746
29.5客户管理模块设计 750
29.5.1模块需求细化 750
29.5.2模块相关数据库实现细节 751
29.5.3客户管理界面设计 751
29.5.4模块详细设计和实现 757
29.6公告管理模块设计 766
29.6.1模块需求细化 766
29.6.2模块相关数据库实现细节 766
29.6.3公告管理界面设计 767
29.6.4模块详细设计和实现 771
29.7高手点拨 780
29.8实战练习 780
第30章 大数据项目实战——Hadoop下的数据处理 782
30.1认识Hadoop 782
30.1.1初识Hadoop 782
30.1.2 Hadoop平台构成 783
30.2理解MapReduce编程范式 784
30.3第1个Hadoop案例——WordCount代码详解 785
30.3.1 WordCount基本流程 785
30.3.2 WordCount代码详解 786
30.3.3运行WordCount 790
30.4面向K-Means聚类算法的Hadoop实践 796
30.4.1 K-Means聚类算法简介 796
30.4.2基于MapReduce的K-Means算法实现 798
30.5高手点拨 806
30.6实战练习 806
附录 全分布式Hadoop集群的构建 807
安装CentOS 7 807
安装Java并配置环境变量 808
安装Hadoop 810
下载Hadoop包 810
安装Hadoop 811
Hadoop的运行模式 811
Hadoop集群构建 811
在Windows操作系统下克隆虚拟机 812
配置虚拟机MAC地址 812
设置静态IP地址 813
安装和配置SSH服务 815
安装SSH 815
SSH免密码登录 815
修改hosts文件 818
虚拟机的同步配置 818
SSH免密码登录配置过程 819
全分布模式下配置Hadoop 819
同步配置文件 824
创建所需目录 825
关闭防火墙 825
格式化文件系统 825
启动Hadoop守护进程 825
验证全分布模式 826
默认配置文件所在位置 826
关闭Hadoop 826