书籍详情
Java编程技术大全(套装上下册)
作者:魔乐科技(MLDN)软件实训中心 著
出版社:人民邮电出版社
出版时间:2019-03-01
ISBN:9787115501004
定价:¥119.00
购买这本书可以去
内容简介
本书主要面向零基础读者,用实例引导读者学习,深入浅出地介绍Java的相关知识和实战技能。 本书第Ⅰ篇“基础知识”主要讲解Java开发环境搭建、Java程序要素,并逐一介绍常量、变量、运算符、表达式、语句、流程控制、数组、枚举、类、对象以及方法等;第Ⅱ篇“核心技术”主要介绍类的封装、继承、多态,并逐一介绍抽象类、接口、Java常用类库以及异常的捕获与处理等;第Ⅲ篇“高级应用”主要介绍多线程、文件I/O操作、GUI编程、Swing GUI编程、Java Web、常用设计框架以及Android编程基础等;第Ⅳ篇“项目实战”主要介绍智能电话回拨系统、理财管理系统、我的饭票网以及Hadoop下的数据处理等。 本书提供了与图书内容全程同步的教学视频。此外,还赠送大量相关学习资料,以便读者扩展学习。 本书适合任何想学习Java的初学者,无论初学者是否从事计算机相关行业,是否接触过Java,均可通过对本书内容的学习快速掌握Java的开发方法和技巧。
作者简介
张玉宏,工学博士,科普作家,阿里云云栖社区认证专家、专栏作家,畅销书《品味大数据》作者,电气和电子工程师协会(IEEE)会员,国际计算机协会(ACM)会员,中国计算机协会(CCF)会员。2012年毕业于电子科技大学,2009—2011年在美国西北大学做访问学者,现执教于河南工业大学。主要研究方向为高性能计算、大数据。发表SCI/EI论文10余篇,出版国内外学术专著5部。 周喜平,教授,河南省教师,河南省教育厅学术带头人,河南省高等学校计算机类专业教学指导委员会委员。研究方向为软件工程、软件开发技术等。发表论文30余篇,出版专著5部,主持和参与科研项目20余项,其中使用Java实现的项目包括“电力及施工企业固定资产管理系统”“惠农资金管理系统”“地市级居民医疗保险信息 管理系统” “纯电动汽车高并发数据采集平台”“基于标准分的教师评教系统”等。
目录
上册
第0章 Java学习指南
0.1 Java为什么重要 002
0.2 Java简史—给我们带来的一点思考 003
0.3 Java应用领域和前景 007
0.4 Java学习路线图 009
第Ⅰ篇基础知识
第 1章 小荷才露尖尖角——Java开发环境搭建
1.1 Java开发环境 013
1.2 安装Java开发工具箱 013
1.2.1 下载JDK 013
1.2.2 安装JDK 016
1.3 Java环境变量的配置 017
1.3.1 理解环境变量 017
1.3.2 JDK中的3个环境变量 018
1.4 享受安装成果—开发第 1个Java程序 022
1.5 Eclipse的使用 023
1.5.1 Eclipse概述 023
1.5.2 创建Java项目 025
1.5.3 创建Java类文件 026
1.5.4 在代码编辑器中编写Java程序代码 027
1.5.5 运行Java程序 029
1.6 探秘Java虚拟机 029
1.7 高手点拨 030
1.8 实战练习 032
第 2章 初识庐山真面目——Java程序要素概览
2.1 一个简单的例子 034
2.2 感性认识Java程序 035
2.2.1 Java程序的框架 036
2.2.2 标识符 037
2.2.3 关键字 037
2.2.4 注释 038
2.2.5 变量 039
2.2.6 数据类型 040
2.2.7 运算符和表达式 040
2.2.8 类 041
2.2.9 输入与输出 041
2.3 程序的检测 044
2.3.1 语法错误 044
2.3.2 语义错误 045
2.4 提高程序的可读性 046
2.5 高手点拨 047
2.6 实战练习 047
第3章 九层之台,起于垒土——Java编程基础
3.1 常量与变量 050
3.1.1 常量的声明与使用 050
3.1.2 变量的声明与使用 051
3.2 基本数据类型 055
3.2.1 数据类型的意义 055
3.2.2 整数类型 056
3.2.3 浮点类型 059
3.2.4 字符类型 060
3.2.5 布尔类型 062
3.3 数据类型的转换 063
3.3.1 自动类型转换 063
3.3.2 强制类型转换 064
3.4 高手点拨 065
3.5 实战练习 066
第4章 基础编程元素——运算符、表达式、语句与流程控制
4.1 运算符 070
4.1.1 赋值运算符 070
4.1.2 一元运算符 070
4.1.3 算术运算符 072
4.1.4 逻辑运算符 073
4.1.5 位运算符 076
4.1.6 三元运算符 077
4.1.7 关系运算符与 if 语句 078
4.1.8 递增与递减运算符 079
4.1.9 括号运算符 080
4.2 表达式 080
4.2.1 算术表达式与关系表达式 081
4.2.2 逻辑表达式与赋值表达式 082
4.2.3 表达式的类型转换 083
4.3 语句 084
4.3.1 语句中的空格 084
4.3.2 空语句 085
4.3.3 声明语句与赋值语句 086
4.4 程序的控制逻辑 086
4.4.1 顺序结构 087
4.4.2 分支结构 088
4.4.3 循环结构 088
4.5 选择结构 088
4.5.1 if 语句 089
4.5.2 if…else 语句 089
4.5.3 if…else if…else 语句 090
4.5.4 多重选择——switch 语句 091
4.6 循环结构 093
4.6.1 while 循环 093
4.6.2 do…while 循环 095
4.6.3 for 循环 097
4.6.4 foreach 循环 098
4.7 循环的跳转 099
4.7.1 break 语句 099
4.7.2 continue 语句 101
4.7.3 return 语句 104
4.8 高手点拨 105
4.9 实战练习 106
第5章 常用的数据结构——数组与枚举
5.1 理解数组 108
5.2 一维数组 111
5.2.1 一维数组的声明与内存的分配 111
5.2.2 数组中元素的表示方法 112
5.2.3 数组元素的使用 113
5.3 二维数组 116
5.3.1 二维数组的声明与赋值 116
5.3.2 二维数组元素的引用及访问 117
5.4 枚举简介 118
5.5 Java 中的枚举 118
5.5.1 常见的枚举定义方法 118
5.5.2 在程序中使用枚举 119
5.5.3 在 switch 语句中使用枚举 120
5.6 高手点拨 121
5.7 实战练习 121
第6章 面向对象设计的核心——类和对象
6.1 理解面向对象程序设计 124
6.1.1 结构化程序设计简介 124
6.1.2 面向对象程序设计简介 124
6.1.3 面向对象程序设计的基本特征 125
6.1.4 面向对象编程和面向过程编程的比较 126
6.2 面向对象的基本概念 127
6.2.1 类 127
6.2.2 对象 128
6.2.3 类和对象的关系 128
6.3 类的声明与定义 129
6.3.1 类的声明 129
6.3.2 类的定义 130
6.4 类的属性 132
6.4.1 属性的定义 132
6.4.2 属性的使用 132
6.5 对象的声明与使用 135
6.5.1 对象的声明 135
6.5.2 对象的使用 136
6.5.3 匿名对象 138
6.5.4 对象的比较 139
6.5.5 对象数组的使用 141
6.6 this关键字的使用 143
6.7 static关键字的使用 145
6.8 final关键字的使用 149
6.9 高手点拨 150
6.10 实战练习 152
第7章 重复调用的代码块——方法
7.1 方法的基本定义 154
7.2 方法的使用 156
7.3 方法中的形参与实参 157
7.4 方法的重载 158
7.5 构造方法 161
7.5.1 构造方法简介 161
7.5.2 构造方法的重载 163
7.5.3 构造方法的私有化 167
7.6 在方法内部调用方法 171
7.7 代码块 172
7.7.1 普通代码块 172
7.7.2 构造代码块 173
7.7.3 静态代码块 175
7.8 static方法 177
7.8.1 自定义static方法 177
7.8.2 static主方法 178
7.9 方法与数组 180
7.9.1 数组引用传递 180
7.9.2 让方法返回数组 183
7.10 包的概念及使用 185
7.10.1 包的基本概念 185
7.10.2 包的导入 186
7.10.3 JDK中常见的包 187
7.11 高手点拨 188
7.12 实战练习 188
第Ⅱ篇 核心技术
第8章 面向对象设计的精华——类的封装、继承与多态
8.1 面向对象的三大特点 191
8.1.1 封装的含义 191
8.1.2 继承的含义 191
8.1.3 多态的含义 192
8.2 封装的实现 194
8.2.1 Java 访问权限修饰符 194
8.2.2 封装问题引例 194
8.2.3 类的封装实例 195
8.3 继承的实现 202
8.3.1 继承的基本概念 202
8.3.2 继承问题的引入 202
8.3.3 继承实现代码复用 204
8.3.4 继承的限制 205
8.4 深度认识类的继承 208
8.4.1 子类对象的实例化过程 208
8.4.2 super关键字的使用 210
8.4.3 限制子类的访问 213
8.5 覆写 216
8.5.1 属性的覆盖 216
8.5.2 方法的覆写 217
8.5.3 关于覆写的注解——@Override 221
8.6 多态的实现 223
8.6.1 多态的基本概念 223
8.6.2 方法多态性 225
8.6.3 对象多态性 225
8.6.4 隐藏 230
8.7 高手点拨 231
8.8 实战练习 234
第9章 凝练才是美——抽象类、接口与内部类
9.1 抽象类 236
9.1.1 抽象类的定义 236
9.1.2 抽象类的使用 236
9.2 接口 240
9.2.1 接口的基本概念 240
9.2.2 使用接口的原则 241
9.2.3 接口的作用——Java 的回调机制 248
9.3 内部类 253
9.3.1 内部类的基本定义 253
9.3.2 在方法中定义内部类 255
9.4 匿名内部类 256
9.5 匿名对象 258
9.6 高手点拨 259
9.7 实战练习 262
第 10章 更灵活的设计——泛型
10.1 泛型的概念 264
10.2 泛型类的定义 264
10.3 泛型方法的定义 265
10.4 泛型接口的定义 265
10.5 泛型的使用限制和通配符的使用 266
10.5.1 泛型的使用限制 266
10.5.2 通配符的使用 267
10.6 泛型的继承和实现 268
10.7 高手点拨 269
10.8 实战练习 270
第 11章 更强大和方便的功能——注解
11.1 注解概述 272
11.2 常用内置注解 272
11.3 自定义注解 274
11.4 通过反射访问注解信息 277
11.5 高手点拨 280
11.6 实战练习 282
第 12章 设计实践——常用的设计模式
12.1 设计模式概述 284
12.1.1 设计模式的背景 284
12.1.2 设计模式的分类 284
12.2 创建型模式 285
12.2.1 单例设计模式 285
12.2.2 多例设计模式 288
12.2.3 工厂模式 290
12.3 结构型模式 295
12.3.1 代理设计模式 296
12.3.2 桥接设计模式 299
12.4 行为型模式 307
12.4.1 行为型模式概述 307
12.4.2 责任链设计模式 307
12.5 高手点拨 310
12.6 实战练习 310
第 13章 存储类的仓库——Java常用类库
13.1 API 概念 312
13.2 基本数据类型的包装类 312
13.2.1 装箱与拆箱 313
13.2.2 基本数据类型与字符串的转换 315
13.3 String 类 317
13.3.1 字符串类的声明 317
13.3.2 String 类中常用的方法 319
13.4 System 类与 Runtime 类 321
13.4.1 System 类 321
13.4.2 Runtime 类 324
13.5 日期操作类 326
13.5.1 日期类 326
13.5.2 日期格式化类 328
13.6 正则表达式 329
13.6.1 正则的引出 329
13.6.2 正则标记 331
13.6.3 利用String进行正则操作 332
13.7 Math与Random类 334
13.7.1 Math类的使用 334
13.7.2 Random类的使用 335
13.8 高手点拨 337
13.9 实战练习 338
第 14章 防患于未然——异常的捕获与处理
14.1 异常的基本概念 340
14.1.1 为何需要异常处理 340
14.1.2 简单的异常范例 341
14.1.3 异常的处理 342
14.1.4 异常处理机制的小结 347
14.2 异常类的处理流程 348
14.3 throws关键字 348
14.4 throw关键字 350
14.5 异常处理的标准格式 350
14.6 RuntimeException类 352
14.7 编写自己的异常类 353
14.8 高手点拨 354
14.9 实战练习 354
下册
第Ⅲ篇 高级应用
第 15章 齐头并进, 并发任务的处理——多线程
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操作
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章 数据持久化方法——对象序列化
17.1 对象序列化的基本概念 440
17.2 序列化与对象输出流ObjectOutputStream 441
17.3 反序列化与对象输入流ObjectInputStream 442
17.4 序列化对象的版本号serialVersionUID 444
17.5 transient关键字 445
17.6 Externalizable接口 445
17.7 高手点拨 448
17.8 实战练习 448
第 18章 绚丽多彩的图形界面——GUI编程
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编程
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章 打通数据的互联——Java Web初步
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
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设计框架
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 运行测试StrutsDemo工程 562
22.2.8 小结 563
22.3 高手点拨 564
22.4 实战练习 564
第 23章 高效开发的利器——Spring框架
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
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编程基础
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
第Ⅳ篇 项目实战
第 26章 Android项目实战——智能电话回拨系统
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进阶项目实战——理财管理系统
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 SharedPreferences存储方式 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项目实战——我的饭票网
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项目实战——客户关系管理项目
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下的数据处理
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集群的构建
安装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
第0章 Java学习指南
0.1 Java为什么重要 002
0.2 Java简史—给我们带来的一点思考 003
0.3 Java应用领域和前景 007
0.4 Java学习路线图 009
第Ⅰ篇基础知识
第 1章 小荷才露尖尖角——Java开发环境搭建
1.1 Java开发环境 013
1.2 安装Java开发工具箱 013
1.2.1 下载JDK 013
1.2.2 安装JDK 016
1.3 Java环境变量的配置 017
1.3.1 理解环境变量 017
1.3.2 JDK中的3个环境变量 018
1.4 享受安装成果—开发第 1个Java程序 022
1.5 Eclipse的使用 023
1.5.1 Eclipse概述 023
1.5.2 创建Java项目 025
1.5.3 创建Java类文件 026
1.5.4 在代码编辑器中编写Java程序代码 027
1.5.5 运行Java程序 029
1.6 探秘Java虚拟机 029
1.7 高手点拨 030
1.8 实战练习 032
第 2章 初识庐山真面目——Java程序要素概览
2.1 一个简单的例子 034
2.2 感性认识Java程序 035
2.2.1 Java程序的框架 036
2.2.2 标识符 037
2.2.3 关键字 037
2.2.4 注释 038
2.2.5 变量 039
2.2.6 数据类型 040
2.2.7 运算符和表达式 040
2.2.8 类 041
2.2.9 输入与输出 041
2.3 程序的检测 044
2.3.1 语法错误 044
2.3.2 语义错误 045
2.4 提高程序的可读性 046
2.5 高手点拨 047
2.6 实战练习 047
第3章 九层之台,起于垒土——Java编程基础
3.1 常量与变量 050
3.1.1 常量的声明与使用 050
3.1.2 变量的声明与使用 051
3.2 基本数据类型 055
3.2.1 数据类型的意义 055
3.2.2 整数类型 056
3.2.3 浮点类型 059
3.2.4 字符类型 060
3.2.5 布尔类型 062
3.3 数据类型的转换 063
3.3.1 自动类型转换 063
3.3.2 强制类型转换 064
3.4 高手点拨 065
3.5 实战练习 066
第4章 基础编程元素——运算符、表达式、语句与流程控制
4.1 运算符 070
4.1.1 赋值运算符 070
4.1.2 一元运算符 070
4.1.3 算术运算符 072
4.1.4 逻辑运算符 073
4.1.5 位运算符 076
4.1.6 三元运算符 077
4.1.7 关系运算符与 if 语句 078
4.1.8 递增与递减运算符 079
4.1.9 括号运算符 080
4.2 表达式 080
4.2.1 算术表达式与关系表达式 081
4.2.2 逻辑表达式与赋值表达式 082
4.2.3 表达式的类型转换 083
4.3 语句 084
4.3.1 语句中的空格 084
4.3.2 空语句 085
4.3.3 声明语句与赋值语句 086
4.4 程序的控制逻辑 086
4.4.1 顺序结构 087
4.4.2 分支结构 088
4.4.3 循环结构 088
4.5 选择结构 088
4.5.1 if 语句 089
4.5.2 if…else 语句 089
4.5.3 if…else if…else 语句 090
4.5.4 多重选择——switch 语句 091
4.6 循环结构 093
4.6.1 while 循环 093
4.6.2 do…while 循环 095
4.6.3 for 循环 097
4.6.4 foreach 循环 098
4.7 循环的跳转 099
4.7.1 break 语句 099
4.7.2 continue 语句 101
4.7.3 return 语句 104
4.8 高手点拨 105
4.9 实战练习 106
第5章 常用的数据结构——数组与枚举
5.1 理解数组 108
5.2 一维数组 111
5.2.1 一维数组的声明与内存的分配 111
5.2.2 数组中元素的表示方法 112
5.2.3 数组元素的使用 113
5.3 二维数组 116
5.3.1 二维数组的声明与赋值 116
5.3.2 二维数组元素的引用及访问 117
5.4 枚举简介 118
5.5 Java 中的枚举 118
5.5.1 常见的枚举定义方法 118
5.5.2 在程序中使用枚举 119
5.5.3 在 switch 语句中使用枚举 120
5.6 高手点拨 121
5.7 实战练习 121
第6章 面向对象设计的核心——类和对象
6.1 理解面向对象程序设计 124
6.1.1 结构化程序设计简介 124
6.1.2 面向对象程序设计简介 124
6.1.3 面向对象程序设计的基本特征 125
6.1.4 面向对象编程和面向过程编程的比较 126
6.2 面向对象的基本概念 127
6.2.1 类 127
6.2.2 对象 128
6.2.3 类和对象的关系 128
6.3 类的声明与定义 129
6.3.1 类的声明 129
6.3.2 类的定义 130
6.4 类的属性 132
6.4.1 属性的定义 132
6.4.2 属性的使用 132
6.5 对象的声明与使用 135
6.5.1 对象的声明 135
6.5.2 对象的使用 136
6.5.3 匿名对象 138
6.5.4 对象的比较 139
6.5.5 对象数组的使用 141
6.6 this关键字的使用 143
6.7 static关键字的使用 145
6.8 final关键字的使用 149
6.9 高手点拨 150
6.10 实战练习 152
第7章 重复调用的代码块——方法
7.1 方法的基本定义 154
7.2 方法的使用 156
7.3 方法中的形参与实参 157
7.4 方法的重载 158
7.5 构造方法 161
7.5.1 构造方法简介 161
7.5.2 构造方法的重载 163
7.5.3 构造方法的私有化 167
7.6 在方法内部调用方法 171
7.7 代码块 172
7.7.1 普通代码块 172
7.7.2 构造代码块 173
7.7.3 静态代码块 175
7.8 static方法 177
7.8.1 自定义static方法 177
7.8.2 static主方法 178
7.9 方法与数组 180
7.9.1 数组引用传递 180
7.9.2 让方法返回数组 183
7.10 包的概念及使用 185
7.10.1 包的基本概念 185
7.10.2 包的导入 186
7.10.3 JDK中常见的包 187
7.11 高手点拨 188
7.12 实战练习 188
第Ⅱ篇 核心技术
第8章 面向对象设计的精华——类的封装、继承与多态
8.1 面向对象的三大特点 191
8.1.1 封装的含义 191
8.1.2 继承的含义 191
8.1.3 多态的含义 192
8.2 封装的实现 194
8.2.1 Java 访问权限修饰符 194
8.2.2 封装问题引例 194
8.2.3 类的封装实例 195
8.3 继承的实现 202
8.3.1 继承的基本概念 202
8.3.2 继承问题的引入 202
8.3.3 继承实现代码复用 204
8.3.4 继承的限制 205
8.4 深度认识类的继承 208
8.4.1 子类对象的实例化过程 208
8.4.2 super关键字的使用 210
8.4.3 限制子类的访问 213
8.5 覆写 216
8.5.1 属性的覆盖 216
8.5.2 方法的覆写 217
8.5.3 关于覆写的注解——@Override 221
8.6 多态的实现 223
8.6.1 多态的基本概念 223
8.6.2 方法多态性 225
8.6.3 对象多态性 225
8.6.4 隐藏 230
8.7 高手点拨 231
8.8 实战练习 234
第9章 凝练才是美——抽象类、接口与内部类
9.1 抽象类 236
9.1.1 抽象类的定义 236
9.1.2 抽象类的使用 236
9.2 接口 240
9.2.1 接口的基本概念 240
9.2.2 使用接口的原则 241
9.2.3 接口的作用——Java 的回调机制 248
9.3 内部类 253
9.3.1 内部类的基本定义 253
9.3.2 在方法中定义内部类 255
9.4 匿名内部类 256
9.5 匿名对象 258
9.6 高手点拨 259
9.7 实战练习 262
第 10章 更灵活的设计——泛型
10.1 泛型的概念 264
10.2 泛型类的定义 264
10.3 泛型方法的定义 265
10.4 泛型接口的定义 265
10.5 泛型的使用限制和通配符的使用 266
10.5.1 泛型的使用限制 266
10.5.2 通配符的使用 267
10.6 泛型的继承和实现 268
10.7 高手点拨 269
10.8 实战练习 270
第 11章 更强大和方便的功能——注解
11.1 注解概述 272
11.2 常用内置注解 272
11.3 自定义注解 274
11.4 通过反射访问注解信息 277
11.5 高手点拨 280
11.6 实战练习 282
第 12章 设计实践——常用的设计模式
12.1 设计模式概述 284
12.1.1 设计模式的背景 284
12.1.2 设计模式的分类 284
12.2 创建型模式 285
12.2.1 单例设计模式 285
12.2.2 多例设计模式 288
12.2.3 工厂模式 290
12.3 结构型模式 295
12.3.1 代理设计模式 296
12.3.2 桥接设计模式 299
12.4 行为型模式 307
12.4.1 行为型模式概述 307
12.4.2 责任链设计模式 307
12.5 高手点拨 310
12.6 实战练习 310
第 13章 存储类的仓库——Java常用类库
13.1 API 概念 312
13.2 基本数据类型的包装类 312
13.2.1 装箱与拆箱 313
13.2.2 基本数据类型与字符串的转换 315
13.3 String 类 317
13.3.1 字符串类的声明 317
13.3.2 String 类中常用的方法 319
13.4 System 类与 Runtime 类 321
13.4.1 System 类 321
13.4.2 Runtime 类 324
13.5 日期操作类 326
13.5.1 日期类 326
13.5.2 日期格式化类 328
13.6 正则表达式 329
13.6.1 正则的引出 329
13.6.2 正则标记 331
13.6.3 利用String进行正则操作 332
13.7 Math与Random类 334
13.7.1 Math类的使用 334
13.7.2 Random类的使用 335
13.8 高手点拨 337
13.9 实战练习 338
第 14章 防患于未然——异常的捕获与处理
14.1 异常的基本概念 340
14.1.1 为何需要异常处理 340
14.1.2 简单的异常范例 341
14.1.3 异常的处理 342
14.1.4 异常处理机制的小结 347
14.2 异常类的处理流程 348
14.3 throws关键字 348
14.4 throw关键字 350
14.5 异常处理的标准格式 350
14.6 RuntimeException类 352
14.7 编写自己的异常类 353
14.8 高手点拨 354
14.9 实战练习 354
下册
第Ⅲ篇 高级应用
第 15章 齐头并进, 并发任务的处理——多线程
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操作
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章 数据持久化方法——对象序列化
17.1 对象序列化的基本概念 440
17.2 序列化与对象输出流ObjectOutputStream 441
17.3 反序列化与对象输入流ObjectInputStream 442
17.4 序列化对象的版本号serialVersionUID 444
17.5 transient关键字 445
17.6 Externalizable接口 445
17.7 高手点拨 448
17.8 实战练习 448
第 18章 绚丽多彩的图形界面——GUI编程
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编程
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章 打通数据的互联——Java Web初步
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
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设计框架
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 运行测试StrutsDemo工程 562
22.2.8 小结 563
22.3 高手点拨 564
22.4 实战练习 564
第 23章 高效开发的利器——Spring框架
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
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编程基础
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
第Ⅳ篇 项目实战
第 26章 Android项目实战——智能电话回拨系统
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进阶项目实战——理财管理系统
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 SharedPreferences存储方式 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项目实战——我的饭票网
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项目实战——客户关系管理项目
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下的数据处理
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集群的构建
安装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
猜您喜欢