• On Java 基础卷 中文版
  • On Java 基础卷 中文版
  • On Java 基础卷 中文版
  • On Java 基础卷 中文版
  • On Java 基础卷 中文版
21年品牌 40万+商家 超1.5亿件商品

On Java 基础卷 中文版

新华书店全新正版,极速发货,假一罚十,可开电子发票,请放心购买。

50.58 3.9折 129.8 全新

库存44件

天津西青
认证卖家担保交易快速发货售后保障

作者(美)布鲁斯·埃克尔

出版社人民邮电出版社

ISBN9787115585011

出版时间2022-03

装帧精装

开本16开

定价129.8元

货号1202610457

上书时间2024-10-14

果然是好书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
【作者简介】
布鲁斯·埃克尔(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 等语言体系,同时也是一名语言文字爱好者。
秦彬,现任腾讯游戏不错项目经理,曾翻译《体验引擎》《游戏设计梦工厂》《游戏制作的本质》等书。

目录
第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.2.1 运行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.1 通过引用操作对象/030

3.2 必须创建所有对象/031

3.2.1 数据保存在哪里/031

3.2.2 特殊情况:基本类型/032

3.2.3 Java中的数组/034

3.3 注释/034

3.4 无须销毁对象/035

3.4.1 作用域/035

3.4.2 对象的作用域/036

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

字段/037

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

参数列表/039

3.7 编写Java程序/041

3.7.1 名称可见性/041

3.7.2 使用其他组件/042

3.7.3 static关键字/043

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.8.1 字面量里的下划线/065

4.8.2 科学记数法(又称“指数记数法”)/066

4.9 按位操作符/067

4.10 移位操作符/067

4.11 三元操作符/071

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

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

4.14 类型转换操作符/074

4.14.1 截尾和舍入/075

4.14.2 提升/076

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.3.1 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/091

5.8 switch/095

5.9 字符串作为选择器/096

5.10 总结/098

第6章 初始化和清理/099

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

6.2 方法重载/102

6.2.1 区分重载的方法/103

6.2.2 使用基本类型的重载/104

6.2.3 通过返回值区分重载方法/107

6.3 无参构造器/108

6.4 this关键字/109

6.4.1 在构造器中调用构造器/111

6.4.2 static的含义/112

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

6.5.1 finalize()的作用/114

6.5.2 你必须执行清理/115

6.5.3 终止条件/115

6.5.4 垃圾收集器的工作原理/117

6.6 成员初始化/120

指定初始化/121

6.7 构造器初始化/122

6.7.1 初始化顺序/123

6.7.2 静态数据的初始化/124

6.7.3 显式的静态初始化/126

6.7.4 非静态实例初始化/127

6.8 数组初始化/128

6.8.1 动态数组创建/129

6.8.2 可变参数列表/132

6.9 枚举类型/136

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

6.11 总结/140

第7章 实现隐藏/141

7.1 package:库单元/142

7.1.1 代码组织/144

7.1.2 创建专享的包名/145

7.1.3 定制工具库/148

7.1.4 用import来改变行为/149

7.1.5 关于包的忠告/150

7.2 Java访问权限修饰符/150

7.2.1 包访问/150

7.2.2 public:接口访问权限/151

7.2.3 private:你无法访问它/153

7.2.4 protected:继承访问权限/154

7.2.5 包访问权限与公共构造器/155

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.4.1 确保正确的清理/175

8.4.2 名称隐藏/177

8.5 选择组合还是继承/178

8.6 protected关键字/180

8.7 向上转型/181

再论组合与继承/182

8.8 final关键字/182

8.8.1 final数据/183

8.8.2 final方法/186

8.8.3 final类/188

8.8.4 关于final的忠告/189

8.9 初始化及类的加载/190

继承与初始化/190

8.10 总结/191

第9章 多态/193

9.1 再论向上转型/194

忘记对象类型/195

9.2 难点/196

9.2.1 方法调用绑定/197

9.2.2 产生正确的行为/197

9.2.3 可扩展性/201

9.2.4 陷阱:“重写”private方法/203

9.2.5 陷阱:字段与静态方法/205

9.3 构造器和多态/206

9.3.1 构造器的调用顺序/206

9.3.2 继承与清理/208

9.3.3 构造器内部的多态方法行为/213

9.4 协变返回类型/215

9.5 用继承进行设计/216

9.5.1 替换与扩展/217

9.5.2 向下转型与反射/218

9.6 总结/220

第10章 接口/221

10.1 抽象类和抽象方法/221

10.2 接口定义/226

10.2.1 默认方法/228

10.2.2 多重继承/230

10.2.3 接口中的静态方法/233

10.2.4 作为接口的Instrument/234

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.7.1 接口中的类/274

11.7.2 从多层嵌套的内部类中访问外部成员/275

11.8 为什么需要内部类/276

11.8.1 闭包与回调/278

11.8.2 内部类与控制框架/281

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

13.1 旧方式与新方式/344

13.2 lambda表达式/346

递归/348

13.3 方法引用/349

13.3.1 Runnable/350

13.3.2 未绑定方法引用/351

13.3.3 构造器方法引用/353

13.4 函数式接口/354

13.4.1 带有更多参数的函数式接口/361

13.4.2 解决缺乏基本类型函数式接口的问题/361

13.5 高阶函数/363

13.6 闭包/364

内部类作为闭包/369

13.7 函数组合/370

13.8 柯里化和部分求值/372

13.9 纯函数式编程/373

13.10 总结/374

第14章 流/375

14.1 Java 8对流的支持/377

14.2 流的创建/378

14.3 中间操作/388

14.4 Optional类型/395

14.5 终结操作/405

14.6 小结/415

第15章 异常/416

15.1 概念/417

15.2 基本的异常/418

异常参数/419

15.3 捕捉异常/420

15.4 创建自己的异常/421

异常与日志记录/424

15.5 异常说明/427

15.6 捕捉任何异常/428

15.7 标准Java异常/439

特例:RuntimeException/440

15.8 新特性:更好的NullPointerException报告机制/441

15.9 使用finally执行清理/443

15.10 异常的约束/449

15.11 构造器/452

15.12 try-with-resources语句/456

15.13 异常匹配/464

15.14 其他可选方式/465

15.15 异常使用指南/473

15.16 小结/473

附记 异常的奇异世界/474

第16章 代码校验/476

16.1 测试/476

16.2 前置条件/482

16.3 测试驱动开发/498

测试驱动与测试优先/505

16.4 日志/505

日志级别/507

16.5 调试/508

16.6 基准测试/511

16.7 分析与优化/520

优化指南/520

16.8 样式检查/521

16.9 静态错误分析/521

16.10 代码审查/521

16.11 结对编程/522

16.12 重构/522

重构的基础/522

16.13 持续集成/523

16.14 总结/525

第17章 文件/526

17.1 文件和目录路径/527

17.2 目录/533

17.3 文件系统/537

17.4 监听Path/538

17.5 查找文件/541

17.6 读写文件/543

17.7 小结/546

第18章 字符串/547

18.1 不可变的字符串/547

18.2 重载+与StringBuilder/548

18.3 无意识的递归/553

18.4 对字符串的操作/555

18.5 格式化输出/556

18.6 新特性:文本块/563

18.7 正则表达式/565

18.8 扫描输入/584

18.9 StringTokenizer/587

18.10 总结/588

第19章 反射/589

19.1 为什么需要反射/589

19.2 Class对象/592

19.3 转型前检查/603

19.4 注册工厂/614

19.5 Instanceof与Class的等价性/616

19.6 运行时的类信息/618

类方法提取器/619

19.7 动态代理/621

19.8 使用Optional/625

19.9 接口和类型信息/633

19.10 总结/639

第20章 泛型/641

20.1 和C++的对比/642

20.2 简单泛型/643

20.3 泛型接口/650

20.4 泛型方法/653

20.5 构建复杂模型/663

20.6 类型擦除的奥秘/665

20.7 对类型擦除的补偿/676

20.8 边界/686

20.9 通配符/689

20.10 问题/707

20.11 自限定类型/714

20.12 动态类型安全/721

20.13 异常/722

20.14 混型/724

20.15 潜在类型机制/730

20.16 对于缺少(直接的)潜在类型机制的补偿/736

20.17 Java 8中的辅助潜在类型机制/741

使用Supplier的泛型方法/743

20.18 总结:转型真的这么糟糕吗?/745

延伸阅读/747

第21 章 数组/748

21.1 数组为何特殊/749

一个用于显示数组的常用工具程序/751

21.2 数组是一等对象/752

21.3 返回数组/755

21.4 多维数组/757

21.5 数组和泛型/761

21.6 Arrays.fill()/764

21.7 Arrays.setAll()/765

21.8 增量生成器/766

21.9 随机数生成器/775

21.10 泛型和基本类型数组/783

21.11 修改已有的数组元素/787

21.12 关于数组并行/788

21.13 数组实用工具/790

21.14 数组复制/791

21.15 数组比较/794

21.16 流和数组/795

21.17 数组排序/796

21.18 用Arrays.binarySearch()进行二分查找/802

21.19 用parallelPrefix()进行累积计算/804

21.20 总结/806

补充内容/809

积极看待C++与Java的遗产/810

内容摘要
本书是布鲁斯·埃克尔时隔15年,继Thinking in Java之后又一力作,基于Java的3个长期支持版(Java 8、11、17),讲解Java核心语法,并对Java的核心变化进行详述。全书内容通俗易懂,配合示例讲解逐步深入,并结合实际开发需要,从语言底层设计出发,有效帮读者规避一些常见的开发陷阱。主体部分共22章,内容包含对象、操作符、控制流、初始化和清理、复用、多态、接口、内部类、集合、函数式编程、流、异常、代码校验、文件、字符串、泛型等。本书适合各个层次的Java开发者阅读,同时也可作为面向对象程序设计语言以及Java语言的参考教材。

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

1.查漏宝典:涵盖Java关键特性的设计原理和应用方法
2.避坑指南:以产业实践的得失为鉴,指明Java开发者不可不知的设计陷阱
3.小白大神皆可读:适合不同层次的Java开发者反复翻阅
4.大咖领读:3位一线技术专家带你拆解书中难点内容,总结Java开发精要

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP