On Java中文版套装:基础卷+进阶卷(共2册)java的编程思想入门开发程序设计核心技术教程书籍
| 运费: | ¥ 0.00-20.00 |
商品详情
书名:On Java中文版套装:基础卷+进*卷(共2册)java的编程思想入门开发程序设计核心技术教程书籍
定*:259.6
ISBN:9787**58*0*37
作者:布鲁斯·埃克尔
版次:第*版
出版时间:2022-03
内容提要:
9787**55850** On Java 中文版 基础卷 *29.80
9787**5585028 On Java 中文版 进*卷 *29.80
《On Java 中文版 基础卷》
本书是布鲁斯·埃克尔时隔 *5 年,继 Thinking in Java 之后又*力作,基于 Java 的 3 个长期支持版(Java 8、**、*7),讲解 Java 核心语法,并对 Java 的核心变化进行详述。*书内容通俗易懂,配合示例讲解逐步深入,并结合实际开发需要,从语言底层设计出发,有效帮读者规避*些常见的开发陷阱。
主体*分共 22 章,内容*含对象、操作符、控制流、初始化和清理、复用、多态、接口、内*类、集合、函数式编程、流、异常、代码校验、文件、字符串、泛型等。
本书适合各个层次的 Java *阅读,同时也可作为面向对象程序设计语言以及 Java 语言的参考教材。
《On Java 中文版 进*卷》
本书内容主要是对《On Java 中文版 基础卷》的拓展延伸,重点讲解 Java 的*级*性、并发、设计模式等相关进*知识,对*些和开发密切相关的底层操作(如 I/O 系统、底层并发、数据压缩等)进行深入探讨,同时针对基础卷的重点章节进行了补充说明(如第 3 章增补了*些关于集合的*级*性)。在附录中,作者给出了 67 条关于低级程序设计和编写代码的建议,并分享了自己成为程序员的*些经验之谈。
本书适合有*定项目开发经验的 Java 程序员阅读。
作者简介:
《On Java 中文版 基础卷》
【作者简介】
布鲁斯·埃克尔(Bruce Eckel)
C++ 标准委员会的*始成员之*,技术顾问,*注于编程语言和软件系统设计方面的研究,常活跃于*各大技术研讨会。他自 *986 年以来,累计出版
Thinking in C++、Thinking in Java、On Java 8 等十余*计算机,曾多次荣获 Jolt 最佳图书奖(被誉为“软件业界的奥斯卡”),其代表作 Thinking in
Java 被译为中文、日文、俄文、意大利文、波兰文、韩文等十几种语言,在*范围内产生了广泛影响。
【译者简介】
陈德伟,深耕软件研发十余年,目前*注于金融系统研发工作。
臧秀涛,InfoQ 前会议内容总编。现于涛思数据负责开源时序数据库 TDengine 的社区生态。代表译作有《Java性能*指南》《C++ API 设计》《Groovy
程序设计》等。
孙*,现任职于*度健康研发中心,*度技术委员会成员。从业十余年,熟悉 Java、PHP 等语言体系,同时也是*名语言文字爱好者。
秦彬,现任腾讯游戏*级项目经理,曾翻译《体验引擎》《游戏设计梦工厂》《游戏制作的本质》等书。
《On Java 中文版 进*卷》
【作者简介】
布鲁斯·埃克尔(Bruce Eckel)
C++ 标准委员会的*始成员之*,技术顾问,*注于编程语言和软件系统设计方面的研究,常活跃于*各大技术研讨会。他自 *986 年以来,累计出版
Thinking in C++、Thinking in Java、On Java 8 等十余*计算机*,曾多次荣获 Jolt 最佳图书奖(被誉为“软件业界的奥斯卡”),其代表作 Thinking
in Java 被译为中文、日文、俄文、意大利文、波兰文、韩文等十几种语言,在*范围内产生了广泛影响。
【译者简介】
孙*,现任职于*度健康研发中心,*度技术委员会成员。从业十余年,熟悉 Java、PHP 等语言体系,同时也是*名语言文字爱好者。
陈德伟,深耕软件研发十余年,目前*注于金融系统研发工作。
臧秀涛,InfoQ 前会议内容总编。现于涛思数据负责开源时序数据库 TDengine 的社区生态。代表译作有《Java 性能*指南》、《C++ API 设计》、
《Groovy 程序设计》等。
目录:
《On Java 中文版 基础卷》
第 *章 什么是对象 / 00*
*.*抽象的历程 / 002
*.2 对象具有接口 / 003
*.3 对象可以提供服务 / 005
*.4 隐藏的实现 / 006
*.5 复用实现 / 008
*.6 继承 / 008
is-a关系与is-like-a关系 / 0*2
*.7 多态 / 0*3
*.8 单根层次结构 / 0*6
*.9 集合 / 0*7
参数化类型(泛型) / 0*8
*.*0 对象的*建和生命周期 / 0*9
*.** 异常处理 / 02*
*.*2 总结 / 022
第 2章 安装Java和本书示例 / 023
2.* 编辑器 / 023
2.2 shell / 024
2.2.* 运行shell / 024
2.2.2 目录(文件夹) / 025
2.2.3 shell基础操作 / 025
2.3 安装Java / 026
2.4 确认安装成功 / 027
2.5 安装和运行本书示例 / 028
Gradle基础任务 / 028
第3章 对象*处*在 / 029
3.* 通过引用操作对象 / 030
3.2 *须*建所有对象 / 03*
3.2.* 数据*存在哪里 / 03*
3.2.2 *殊情况:基本类型 / 032
3.2.3 Java中的数组 / 034
3.3 注释 / 034
3.4 *须销毁对象 / 035
3.4.* 作用域 / 035
3.4.2 对象的作用域 / 036
3.5 使用class关键字*建新类型 / 037
字段 / 037
3.6 方法、参数以及返回值 / 039
参数列表 / 039
3.7 编写Java程序 / 04*
3.7.* 名称可见性 / 04*
3.7.2 使用其他组件 / 042
3.7.3 static关键字 / 043
3.8 你的第 *个Java程序 / 045
编译和运行 / 047
3.9 编程风格 / 048
3.*0 总结 / 049
第4章 操作符 / 050
4.* 使用Java操作符 / 050
4.2 *先级 / 05*
4.3 赋值 / 05*
方法调用中的别名 / 053
4.4 算术操作符 / 054
*元加操作符和*元减操作符 / 055
4.5 自动递增和自动递减 / 056
4.6 关系操作符 / 057
测试对象是否相等 / 057
4.7 逻辑操作符 / 06*
短路 / 062
4.8 字面量 / 063
4.8.* 字面量里的下划线 / 065
4.8.2 科学记数法(又称“指数
记数法”) / 066
4.9 按位操作符 / 067
4.*0 移位操作符 / 067
4.** 三元操作符 / 07*
4.*2 字符串操作符+和+= / 072
4.*3 使用操作符时常犯的错误 / 073
4.*4 类型转换操作符 / 074
4.*4.* 截尾和舍入 / 075
4.*4.2 提* / 076
4.*5 Java没有sizeof() / 076
4.*6 操作符小结 / 076
4.*7 总结 / 08*
第5章 控制流 / 082
5.* true和false / 082
5.2 if-else / 083
5.3 迭代语句 / 084
5.3.* do-while / 085
5.3.2 for / 085
5.3.3 逗号操作符 / 086
5.4 for-in语法 / 087
5.5 return / 089
5.6 break和continue / 090
5.7 臭名昭著的goto / 09*
5.8 switch / 095
5.9 字符串作为选择器 / 096
5.*0 总结 / 098
第6章 初始化和清理 / 099
6.* 用构造器*证初始化 / *00
6.2 方法重载 / *02
6.2.* 区分重载的方法 / *03
6.2.2 使用基本类型的重载 / *04
6.2.3 通过返回值区分重载方法 / *07
6.3 *参构造器 / *08
6.4 this关键字 / *09
6.4.* 在构造器中调用构造器 / ***
6.4.2 static的含义 / **2
6.5 清理:*结和垃圾收集 / **3
6.5.* finalize()的作用 / **4
6.5.2 你*须执行清理 / **5
6.5.3 *止条件 / **5
6.5.4 垃圾收集器的工作原理 / **7
6.6 成员初始化 / *20
*初始化 / *2*
6.7 构造器初始化 / *22
6.7.* 初始化顺序 / *23
6.7.2 静态数据的初始化 / *24
6.7.3 显式的静态初始化 / *26
6.7.4 非静态实例初始化 / *27
6.8 数组初始化 / *28
6.8.* 动态数组*建 / *29
6.8.2 可变参数列表 / *32
6.9 枚举类型 / *36
6.*0 新*性:局*变量类型
推断 / *38
6.** 总结 / *40
第 7章 实现隐藏 / *4*
7.* package:库单元 / *42
7.*.* 代码组织 / *44
7.*.2 *建***二的*名 / *45
7.*.3 定制工具库 / *48
7.*.4 用import来改变行为 / *49
7.*.5 关于*的忠告 / *50
7.2 Java访问权限修饰符 / *50
7.2.* *访问 / *50
7.2.2 public:接口访问权限 / *5*
7.2.3 private:你*法访问它 / *53
7.2.4 protected:继承访问权限 / *54
7.2.5 *访问权限与公共构造器 / *55
7.3 接口和实现 / *56
7.4 类的访问权限 / *57
7.5 新*性:模块 / *60
7.6 总结 / *62
第8章 复用 / *64
8.* 组合语法 / *65
8.2 继承语法 / *67
初始化基类 / *69
8.3 委托 / *7*
8.4 组合与继承相结合 / *73
8.4.* 确*正确的清理 / *75
8.4.2 名称隐藏 / *77
8.5 选择组合还是继承 / *78
8.6 protected关键字 / *80
8.7 向上转型 / *8*
再论组合与继承 / *82
8.8 final关键字 / *82
8.8.* final数据 / *83
8.8.2 final方法 / *86
8.8.3 final类 / *88
8.8.4 关于final的忠告 / *89
8.9 初始化及类的加载 / *90
继承与初始化 / *90
8.*0 总结 / *9*
第9章 多态 / *93
9.* 再论向上转型 / *94
忘记对象类型 / *95
9.2 难点 / *96
9.2.* 方法调用绑定 / *97
9.2.2 产生正确的行为 / *97
9.2.3 可扩展性 / 20*
9.2.4 陷阱:“重写”private
方法 / 203
9.2.5 陷阱:字段与静态方法 / 205
9.3 构造器和多态 / 206
9.3.* 构造器的调用顺序 / 206
9.3.2 继承与清理 / 208
9.3.3 构造器内*的多态方法
行为 / 2*3
9.4 协变返回类型 / 2*5
9.5 用继承进行设计 / 2*6
9.5.* 替换与扩展 / 2*7
9.5.2 向下转型与反射 / 2*8
9.6 总结 / 220
第 *0章 接口 / 22*
*0.* 抽象类和抽象方法 / 22*
*0.2 接口定义 / 226
*0.2.* 默认方法 / 228
*0.2.2 多重继承 / 230
*0.2.3 接口中的静态方法 / 233
*0.2.4 作为接口的Instrument / 234
*0.3 抽象类与接口 / 236
*0.4 完*解耦 / 237
*0.5 组合多个接口 / 242
*0.6 通过继承来扩展接口 / 244
组合接口时的名称冲突 / 245
*0.7 适配接口 / 246
*0.8 接口中的字段 / 249
初始化接口中的字段 / 249
*0.9 嵌套接口 / 250
*0.*0 接口和工厂 / 252
*0.** 新*性:接口的private
方法 / 255
*0.*2 新*性:密封类和密封
接口 / 256
*0.*3 总结 / 259
第 **章 内*类 / 260
**.* *建内*类 / 26*
**.2 到外*类的* / 262
**.3 使用.this和.new / 264
**.4 内*类和向上转型 / 266
**.5 在方法和作用域中的内*类 / 267
**.6 匿名内*类 / 269
**.7 嵌套类 / 273
**.7.* 接口中的类 / 274
**.7.2 从多层嵌套的内*类中
访问外*成员 / 275
**.8 为什么需要内*类 / 276
**.8.* 闭*与回调 / 278
**.8.2 内*类与控制框架 / 28*
**.9 继承内*类 / 287
**.*0 内*类可以被重写吗 / 287
**.** 局*内*类 / 289
**.*2 内*类标识符 / 29*
**.*3 总结 / 29*
第 *2章 集合 / 292
*2.* 泛型和类型*的集合 / 293
新*性:类型推断和泛型 / 296
*2.2 基本概念 / 297
*2.3 添加*组元素 / 298
*2.4 打印集合 / 300
*2.5 List / 302
*2.6 Iterator / 306
ListIterator / 309
*2.7 LinkedList / 3*0
*2.8 Stack / 3*2
*2.9 Set / 3*4
*2.*0 Map / 3*8
*2.** 新*性:记录(record)
类型 / 32*
*2.*2 Queue / 325
PriorityQueue / 327
*2.*3 Collection和Iterator的
对比 / 328
*2.*4 for-in和迭代器 / 332
适配器方法惯用法 / 334
*2.*5 总结 / 338
第 *3章 函数式编程 / 342
*3.* 旧方式与新方式 / 344
*3.2 lambda表达式 / 346
递归 / 348
*3.3 方法引用 / 349
*3.3.* Runnable / 350
*3.3.2 未绑定方法引用 / 35*
*3.3.3 构造器方法引用 / 353
*3.4 函数式接口 / 354
*3.4.* 带有更多参数的函数式
接口 / 36*
*3.4.2 解决缺乏基本类型函数
式接口的问题 / 36*
*3.5 **函数 / 363
*3.6 闭* / 364
内*类作为闭* / 369
*3.7 函数组合 / 370
*3.8 柯里化和*分求值 / 372
*3.9 纯函数式编程 / 373
*3.*0 总结 / 374
第 *4章 流 / 375
*4.* Java 8对流的支持 / 377
*4.2 流的*建 / 378
*4.2.* 随机数流 / 379
*4.2.2 int类型的区间范围 / 382
*4.2.3 generate() / 383
*4.2.4 iterate() / 385
*4.2.5 流生成器 / 385
*4.2.6 Arrays / 386
*4.2.7 正则表达式 / 387
*4.3 中间操作 / 388
*4.3.* 跟踪与调试 / 389
*4.3.2 对流元素进行排序 / 389
*4.3.3 移除元素 / 390
*4.3.4 将函数应用于每个流
元素 / 390
*4.3.5 在应用map()期间组
合流 / 392
*4.4 Optional类型 / 395
*4.4.* 便捷函数 / 397
*4.4.2 *建Optional / 399
*4.4.3 Optional对象上的操作 / 400
*4.4.4 由Optional组成的流 / 404
*4.5 *结操作 / 405
*4.5.* 将流转换为*个数组 / 405
*4.5.2 在每个流元素上应用某个*结操作 / 406
*4.5.3 收集操作 / 407
*4.5.4 组合所有的流元素 / 4*0
*4.5.5 匹配 / 4**
*4.5.6 选择*个元素 / 4*2
*4.5.7 获得流相关的信息 / 4*3
*4.6 小结 / 4*5
第 *5章 异常 / 4*6
*5.* 概念 / 4*7
*5.2 基本的异常 / 4*8
异常参数 / 4*9
*5.3 捕捉异常 / 420
*5.3.* try块 / 420
*5.3.2 异常处理程序 / 420
*5.4 *建自己的异常 / 42*
异常与日志记录 / 424
*5.5 异常说明 / 427
*5.6 捕捉任何异常 / 428
*5.6.* 多重捕捉 / 430
*5.6.2 栈轨迹 / 43*
*5.6.3 重新抛出异常 / 432
*5.6.4 异常链 / 436
*5.7 标准Java异常 / 439
*例:RuntimeException / 440
*5.8 新*性:更好的NullPointerException
报告机制 / 44*
*5.9 使用finally执行清理 / 443
*5.9.* finally是干什么用的 / 444
*5.9.2 在return期间使用
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...