标签
内容简介
《Java 8实战》是 Manning 出版社《Java 8 in Action》的中文简体版,由陆明刚、劳佳翻译,人民邮电出版社列入「图灵程序设计丛书·Java系列」出版。全书围绕 Java 8 这一里程碑式的版本,系统讲解 Lambda 表达式、方法引用、Stream API、默认方法、Optional、CompletableFuture 以及全新的日期时间 API 等核心新特性,并用贴近真实业务的 Java 代码示例贯穿始终,说明如何用函数式风格写出更简洁、更易维护、并能自动利用多核硬件的程序。 全书共 16 章、四个部分:第一部分「基础知识」从 Java 为什么还在演进讲起,介绍行为参数化与代码传递、Lambda 表达式;第二部分「函数式数据处理」依次讲解流的引入、使用、用流收集数据以及并行数据处理与性能;第三部分「高效 Java 8 编程」覆盖重构、测试与调试,默认方法,用 Optional 取代 null,组合式异步编程 CompletableFuture,新的日期和时间 API;第四部分「超越 Java 8」讨论函数式思考方式、函数式编程技巧、面向对象与函数式编程的混合(Java 8 与 Scala 对比),并对 Java 的未来作出展望。书末另附四个附录,涉及语言与类库更新、同一条流上的并发多操作以及 Lambda 与 JVM 字节码等进阶话题。每章配有小结与随堂测验,便于边读边检验理解,是 Java 开发者系统掌握 Java 8 新特性的常备参考书。
编辑推荐
很多讲 Java 8 的书只是把新语法罗列一遍,而这本书的不同在于:它从「为什么要这样设计」出发。第 2 章先用筛选苹果的例子把行为参数化讲透,Lambda 的语法就变得顺理成章,而不是死记硬背的符号。Stream 部分同样如此,从引入、使用到收集,一路把惰性求值、短路、并行切分的来龙去脉交代清楚。 作者之一的 Mario Fusco 是 Red Hat 的工程师,也是 lambdaj 库的作者;另两位作者来自剑桥大学,学术与工程经验兼备。译文由长期从事底层研发的陆明刚与劳佳合作完成,术语统一,读起来不拗口。全书每章结尾都有小结和随堂小测,适合当作「边学边练」的教材使用;附录还延伸到字节码与 InvokeDynamic,给了想深挖原理的读者一条向上攀爬的路径。 对于仍在维护 Java 8 项目、或想补上函数式思维这一课的开发者,这本书是把旧代码改写成简洁现代写法的实用手册。豆瓣 9.1 分的高评价,也说明它经受住了时间检验。
适合谁读
适合
- 已掌握 Java 语法、想系统学习 Lambda 与 Stream 的初中级开发者
- 维护 Java 8 项目、需要重构旧代码的工程人员
- 准备技术面试、需覆盖 Java 8 新特性的求职者
- 对函数式编程感兴趣、希望从 Java 角度入门的程序员
不适合
- 完全没有 Java 基础、尚未学过面向对象的零基础读者
- 只想找框架速查手册、不打算系统阅读的人
- 只使用 Java 11 及以上版本、想专攻新特性的读者(可读续作)
阅读建议
- 先按顺序读第 1—3 章,把行为参数化到 Lambda 的思路走通,后面会顺畅很多。
- 第 4—6 章的示例建议亲手敲一遍,边改写集合操作边体会流的惰性与短路。
- 第 3 部分可按项目需要跳读,例如先攻 Optional 与日期时间 API,再回头补 CompletableFuture。
- 读完一章先做章末小测,再对照书末附录理解字节码层面的实现原理。
出版社简介
人民邮电出版社
中国 · 成立于 1953 年
人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。
目录
- 第一部分 基础知识
- 第1章 为什么要关心Java 8
- 第2章 通过行为参数化传递代码
- 第3章 Lambda表达式
- 第二部分 函数式数据处理
- 第4章 引入流
- 第5章 使用流
- 第6章 用流收集数据
- 第7章 并行数据处理与性能
- 第三部分 高效Java 8编程
- 第8章 重构、测试和调试
- 第9章 默认方法
- 第10章 用Optional取代null
- 第11章 CompletableFuture:组合式异步编程
- 第12章 新的日期和时间API
- 第四部分 超越Java 8
- 第13章 函数式的思考
- 第14章 函数式编程的技巧
- 第15章 面向对象和函数式编程的混合:Java 8和Scala的比较
- 第16章 结论以及Java的未来
- 附录A 其他语言特性的更新
- 附录B 类库的更新
- 附录C 如何以并发方式在同一个流上执行多种操作
- 附录D Lambda表达式和JVM字节码
常见问题
这本书和《Modern Java in Action》是什么关系?
《Java 8实战》的原书是《Java 8 in Action》。作者团队后来将其扩展升级为《Modern Java in Action》(第 2 版),覆盖到 Java 9 及之后的新特性。若主要用 Java 8,中文版《Java 8实战》已足够。
没有 Java 基础,能直接读这本书吗?
不太建议。书中示例默认读者熟悉类、接口、泛型和集合,一上来就讲行为参数化会显得吃力。建议先掌握 Java 语法基础,再来读这本。
书里的代码可以直接运行吗?
可以。示例基于 Java 8 的 JDK 编写,多数代码可直接编译运行;部分示例涉及书中自定义的辅助类,需配合作者提供的示例代码仓库使用。
这本书适合当作面试复习资料吗?
适合作为系统性复习材料。Lambda、Stream、Optional、默认方法的用法与原理都是常见考点,且书中附录对字节码实现有介绍,能应付追问。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。