猜你喜欢
On Java 中文版套装: 基础卷+进阶卷(京东套装共2册)(图灵出品)重讲Java的编程思想

On Java 中文版套装: 基础卷+进阶卷(京东套装共2册)(图灵出品)重讲Java的编程思想

书籍作者:布鲁斯·埃克尔 ISBN:9787115006233
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:1758
创建日期:2023-03-21 发布日期:2023-03-21
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

9787115585011 On Java 中文版 基础卷 129.80

9787115585028 On Java 中文版 进阶卷 129.80


《On Java 中文版 基础卷》

本书是布鲁斯.埃克尔时隔 15 年,继 Thinking in Java 之后又一力作,基于 Java 的 3 个长期支持版(Java 8、11、17),讲解 Java 核心语法,并对 Java 的核心变化进行详述。全书内容通俗易懂,配合示例讲解逐步深入,并结合实际开发需要,从语言底层设计出发,有效帮读者规避一些常见的开发陷阱。


主体部分共 22 章,内容包含对象、操作符、控制流、初始化和清理、复用、多态、接口、内部类、集合、函数式编程、流、异常、代码校验、文件、字符串、泛型等。


本书适合各个层次的 Java 开发者阅读,同时也可作为面向对象程序设计语言以及 Java 语言的参考教材。


《On Java 中文版 进阶卷》

本书内容主要是对《On Java 中文版 基础卷》的拓展延伸,重点讲解 Java 的高级特性、并发、设计模式等相关进阶知识,对一些和开发密切相关的底层操作(如 I/O 系统、底层并发、数据压缩等)进行深入探讨,同时针对基础卷的重点章节进行了补充说明(如第 3 章增补了一些关于集合的高级特性)。在附录中,作者给出了 67 条关于低级程序设计和编写代码的建议,并分享了自己成为程序员的一些经验之谈。


本书适合有一定项目开发经验的 Java 程序员阅读。


作者简介

《On Java 中文版 基础卷》

【作者简介】


布鲁斯·埃克尔(Bruce Eckel)

C++ 标准委员会的创始成员之一,技术顾问,专注于编程语言和软件系统设计方面的研究,常活跃于世界各大技术研讨会。他自 1986 年以来,累计出版 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++ 标准委员会的创始成员之一,技术顾问,专注于编程语言和软件系统设计方面的研究,常活跃于世界各大技术研讨会。他自 1986 年以来,累计出版Thinking in C++、Thinking in Java、On Java 8 等十余部计算机著作,曾多次荣获 Jolt 最佳图书奖(被誉为“软件业界的奥斯卡”),其代表作 Thinking in Java 被译为中文、日文、俄文、意大利文、波兰文、韩文等十几种语言,在世界范围内产生了广泛影响。


【译者简介】


孙卓,现任职于百度健康研发中心,百度技术委员会成员。从业十余年,熟悉 Java、PHP 等语言体系,同时也是一名语言文字爱好者。

陈德伟,深耕软件研发十余年,目前专注于金融系统研发工作。

臧秀涛,InfoQ 前会议内容总编。现于涛思数据负责开源时序数据库 TDengine 的社区生态。代表译作有《Java 性能权威指南》、《C++ API 设计》、《Groovy 程序设计》等。


编辑推荐
适读人群 :本书适合各个层次的 Java 开发者阅读,同时也可作为面向对象程序设计语言以及 Java 语言的参考教材。

《On Java 中文版 基础卷》

《On Java 中文版 进阶卷》


基于Java 8、11、17,Thinking in系列书籍作者Bruce Eckel重讲Java的编程思想!


1.查漏宝典:涵盖Java关键特性的设计原理和应用方法


2.避坑指南:以产业实践的得失为鉴,指明Java开发者不可不知的设计陷阱


3.小白大神皆可读:适合不同层次的Java开发者反复翻阅


4.大咖领读:3位一线技术专家带你拆解书中难点内容,总结Java开发精要




目录

《On Java 中文版 基础卷》

第 1章 什么是对象 / 001


1.1抽象的历程 / 002


1.2 对象具有接口 / 003


1.3 对象可以提供服务 / 005


1.4 隐藏的实现 / 006


1.5 复用实现 / 008


1.6 继承 / 008


is-a关系与is-like-a关系 / 012


1.7 多态 / 013


1.8 单根层次结构 / 016


1.9 集合 / 017


参数化类型(泛型) / 018


1.10 对象的创建和生命周期 / 019


1.11 异常处理 / 021


1.12 总结 / 022


第 2章 安装Java和本书示例 / 023


2.1 编辑器 / 023


2.2 shell / 024


2.3 安装Java / 026


2.4 确认安装成功 / 027


2.5 安装和运行本书示例 / 028


Gradle基础任务 / 028


第3章 对象无处不在 / 029


3.1 通过引用操作对象 / 030


3.2 必须创建所有对象 / 031


3.3 注释 / 034


3.4 无须销毁对象 / 035


3.5 使用class关键字创建新类型 / 037


字段 / 037


3.6 方法、参数以及返回值 / 039


参数列表 / 039


3.7 编写Java程序 / 041


3.8 你的第 一个Java程序 / 045


编译和运行 / 047


3.9 编程风格 / 048


3.10 总结 / 049


第4章 操作符 / 050


4.1 使用Java操作符 / 050


4.2 优先级 / 051


4.3 赋值 / 051


方法调用中的别名 / 053


4.4 算术操作符 / 054


一元加操作符和一元减操作符 / 055


4.5 自动递增和自动递减 / 056


4.6 关系操作符 / 057


测试对象是否相等 / 057


4.7 逻辑操作符 / 061


短路 / 062


4.8 字面量 / 063


4.9 按位操作符 / 067


4.10 移位操作符 / 067


4.11 三元操作符 / 071


4.12 字符串操作符+和+= / 072


4.13 使用操作符时常犯的错误 / 073


4.14 类型转换操作符 / 074


4.15 Java没有sizeof() / 076


4.16 操作符小结 / 076


4.17 总结 / 081


第5章 控制流 / 082


5.1 true和false / 082


5.2 if-else / 083


5.3 迭代语句 / 084


5.4 for-in语法 / 087


5.5 return / 089


5.6 break和continue / 090


5.7 臭名昭著的goto / 091


5.8 switch / 095


5.9 字符串作为选择器 / 096


5.10 总结 / 098


第6章 初始化和清理 / 099


6.1 用构造器保证初始化 / 100


6.2 方法重载 / 102


6.3 无参构造器 / 108


6.4 this关键字 / 109


6.5 清理:终结和垃圾收集 / 113


6.6 成员初始化 / 120


指定初始化 / 121


6.7 构造器初始化 / 122


6.8 数组初始化 / 128


6.9 枚举类型 / 136


6.10 新特性:局部变量类型推断 / 138


6.11 总结 / 140


第 7章 实现隐藏 / 141


7.1 package:库单元 / 142


7.2 Java访问权限修饰符 / 150


7.3 接口和实现 / 156


7.4 类的访问权限 / 157


7.5 新特性:模块 / 160


7.6 总结 / 162


第8章 复用 / 164


8.1 组合语法 / 165


8.2 继承语法 / 167


初始化基类 / 169


8.3 委托 / 171


8.4 组合与继承相结合 / 173


8.5 选择组合还是继承 / 178


8.6 protected关键字 / 180


8.7 向上转型 / 181


再论组合与继承 / 182


8.8 final关键字 / 182


8.9 初始化及类的加载 / 190


继承与初始化 / 190


8.10 总结 / 191


第9章 多态 / 193


9.1 再论向上转型 / 194


忘记对象类型 / 195


9.2 难点 / 196


9.3 构造器和多态 / 206


9.4 协变返回类型 / 215


9.5 用继承进行设计 / 216


9.6 总结 / 220


第 10章 接口 / 221


10.1 抽象类和抽象方法 / 221


10.2 接口定义 / 226


10.3 抽象类与接口 / 236


10.4 完全解耦 / 237


10.5 组合多个接口 / 242


10.6 通过继承来扩展接口 / 244


组合接口时的名称冲突 / 245


10.7 适配接口 / 246


10.8 接口中的字段 / 249


初始化接口中的字段 / 249


10.9 嵌套接口 / 250


10.10 接口和工厂 / 252


10.11 新特性:接口的private方法 / 255


10.12 新特性:密封类和密封接口 / 256


10.13 总结 / 259


第 11章 内部类 / 260


11.1 创建内部类 / 261


11.2 到外部类的链接 / 262


11.3 使用.this和.new / 264


11.4 内部类和向上转型 / 266


11.5 在方法和作用域中的内部类 / 267


11.6 匿名内部类 / 269


11.7 嵌套类 / 273


11.8 为什么需要内部类 / 276


11.9 继承内部类 / 287


11.10 内部类可以被重写吗 / 287


11.11 局部内部类 / 289


11.12 内部类标识符 / 291


11.13 总结 / 291


第 12章 集合 / 292


12.1 泛型和类型安全的集合 / 293


新特性:类型推断和泛型 / 296


12.2 基本概念 / 297


12.3 添加一组元素 / 298


12.4 打印集合 / 300


12.5 List / 302


12.6 Iterator / 306


ListIterator / 309


12.7 LinkedList / 310


12.8 Stack / 312


12.9 Set / 314


12.10 Map / 318


12.11 新特性:记录(record)类型 / 321


12.12 Queue / 325


PriorityQueue / 327


12.13 Collection和Iterator的对比 / 328


12.14 for-in和迭代器 / 332


适配器方法惯用法 / 334


12.15 总结 / 338


第 13章 函数式编程 / 342


第 14章 流 / 375


第 15章 异常 / 416


第 16章 代码校验 / 476


第 17章 文件 / 526


第 18章 字符串 / 547


第 19章 反射 / 589


第 20章 泛型 / 641


第 21 章 数组 / 748




《On Java 中文版 进阶卷》

第 1章 枚举类型 001


1.1 枚举类型的基本特性 / 001


静态导入枚举类型 / 002


1.2 在枚举类型中增加自定义方法 / 003


重载枚举类型中的方法 / 004


1.3 在switch语句中使用枚举 / 005


1.4 values()方法的神秘之处 / 006


1.5 实现,而不是继承 / 009


1.6 随机选择 / 010


1.7 使用接口来组织枚举 / 011


1.8 用EnumSet来代替标识 / 015


1.9 使用EnumMap / 017


1.10 常量特定方法 / 018


1.11 多路分发 / 032


1.12 支持模式匹配的新特性 / 041


1.13 新特性:switch中的箭头语法 / 041


1.14 新特性:switch中的casenull / 042


1.15 新特性:将switch作为表达式 / 044


1.16 新特性:智能转型 / 046


1.17 新特性:模式匹配 / 048


1.18 总结 / 058


第 2章 对象传递和返回 060


2.1 传递引用 / 061


引用别名 / 061


2.2 创建本地副本 / 063


2.3 控制可克隆性 / 078


复制构造器 / 082


2.4 不可变类 / 086


2.5 总结 / 091


第3章 集合主题 093


3.1 样例数据 / 093


3.2 List的行为 / 099


3.3 Set的行为 / 102


3.4 在Map上使用函数式操作 / 104


3.5 选择Map的部分元素 / 105


3.6 填充集合 / 107


3.7 使用享元自定义Collection和Map / 112


3.8 Collection的功能 / 123


3.9 可选的操作 / 125


不支持的操作 / 127


3.10 Set与存储顺序 / 129


SortedSet / 132


3.11 Queue / 134


3.12 理解Map / 137


3.13 工具函数 / 144


3.14 持有引用 / 151


WeakHashMap / 154


3.15 Java 1.0/1.1的集合类 / 155


3.16 总结 / 160


第4章 注解 162


4.1 基本语法 / 163


4.2 编写注解处理器 / 166


4.3 用javac处理注解 / 174


4.4 基于注解的单元测试 / 182


4.5 总结 / 202


第5章 并发编程 203


5.1 令人迷惑的术语 / 204


并发的新定义 / 206


5.2 并发的超能力 / 207


5.3 并发为速度而生 / 209


5.4 Java并发四定律 / 211


5.5 残酷的事实 / 214


5.6 本章剩余部分 / 216


5.7 并行流 / 218


5.8 创建和运行任务 / 228


5.9 终止长时间运行的任务 / 237


5.10 CompletableFuture / 240


5.11 死锁 / 259


5.12 构造器并不是线程安全的 / 264


5.13 工作量、复杂性、成本 / 268


5.14 总结 / 273


第6章 底层并发 277


6.1 什么是线程? / 277


6.2 捕获异常 / 282


6.3 共享资源 / 286


6.4 volatile关键字 / 293


6.5 原子性 / 296


6.6 临界区 / 304


6.7 库组件 / 310


6.8 总结 / 317


第7章 Java I/O系统 319


7.1 I/O流 / 319


7.2 标准I/O / 335


7.3 新I/O系统 / 340


第8章 设计模式 364


8.1 设计模式的概念 / 364


8.2 单例模式 / 366


8.3 设计模式的分类 / 370


8.4 模板方法 / 370


8.5 封装实现 / 371


8.6 工厂模式:封装对象的创建 / 377


8.7 函数对象模式 / 384


8.8 改变接口 / 391


8.9 解释器模式:运行时的灵活性 / 394


8.10 回调 / 394


8.11 多路分发 / 401


8.12 模式重构 / 405


8.13 总结 / 435


编程指南 / 436


Javadoc / 446


理解equals()和hashCode() / 451


数据压缩 / 475


对象序列化 / 481


静态类型检查的利与弊 / 505

产品特色