编辑推荐

Java 8终极指南,通过新的Stream API及Lambda表达式等示例全面讲解Java 8新特性,并为Java程序员开启函数式编程的大门。

内容简介

本书全面介绍了Java 8 这个里程碑版本的新特性,包括Lambdas、流和函数式编程。有了函数式的编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件。全书分四个部分:基础知识、函数式数据处理、高效Java 8 编程和超越Java 8,清晰明了地向读者展现了一幅Java与时俱进的现代化画卷。

作者简介

作者Raoul-Gabriel Urma,剑桥大学计算机科学博士,软件工程师,演讲者,培训师,Cambridge Coding Academy联合创始人、CEO。曾与谷歌、eBay、甲骨文和高盛集团等大公司合作,并参与过多个创业项目。撰写过十余篇经同行审阅的技术文章,并在国际会议上发表过40多篇演讲。

章节目录

版权信息

内容提要

序言

致谢

关于本书

关于封面图

第一部分 基础知识

第1章 为什么要关心Java 8

1.1 Java怎么还在变

1.2 Java中的函数

1.3 流

1.4 默认方法

1.5 来自函数式编程的其他好思想

1.6 小结

第2章 通过行为参数化传递代码

2.1 应对不断变化的需求

2.2 行为参数化

2.3 对付啰嗦

2.4 真实的例子

2.5 小结

第3章 Lambda表达式

3.1 Lambda管中窥豹

3.2 在哪里以及如何使用Lambda

3.3 把Lambda付诸实践:环绕执行模式

3.4 使用函数式接口

3.5 类型检查、类型推断以及限制

3.6 方法引用

3.7 Lambda和方法引用实战

3.8 复合Lambda表达式的有用方法

3.9 数学中的类似思想

3.10 小结

第二部分 函数式数据处理

第4章 引入流

4.1 流是什么

4.2 流简介

4.3 流与集合

4.4 流操作

4.5 小结

第5章 使用流

5.1 筛选和切片

5.2 映射

5.3 查找和匹配

5.4 归约

5.5 付诸实践

5.6 数值流

5.7 构建流

5.8 小结

第6章 用流收集数据

6.1 收集器简介

6.2 归约和汇总

6.3 分组

6.4 分区

6.5 收集器接口

6.6 开发你自己的收集器以获得更好的性能

6.7 小结

第7章 并行数据处理与性能

7.1 并行流

7.2 分支/合并框架

7.3 Spliterator

7.4 小结

第三部分 高效Java 8编程

第8章 重构、测试和调试

8.1 为改善可读性和灵活性重构代码

8.2 使用Lambda重构面向对象的设计模式

8.3 测试Lambda表达式

8.4 调试

8.5 小结

第9章 默认方法

9.1 不断演进的API

9.2 概述默认方法

9.3 默认方法的使用模式

9.4 解决冲突的规则

9.5 小结

第10章 用Optional取代null

10.1 如何为缺失的值建模

10.2 Optional类入门

10.3 应用Optional的几种模式

10.4 使用Optional的实战示例

10.5 小结

第11章 CompletableFuture:组合式异步编程

11.1 Future接口

11.2 实现异步API

11.3 让你的代码免受阻塞之苦

11.4 对多个异步任务进行流水线操作

11.5 响应CompletableFuture的completion事件

11.6 小结

第12章 新的日期和时间API

12.1 LocalDate、LocalTime、Instant、Duration以及Period

12.2 操纵、解析和格式化日期

12.3 处理不同的时区和历法

12.4 小结

第四部分 超越Java 8

第13章 函数式的思考

13.1 实现和维护系统

13.2 什么是函数式编程

13.3 递归和迭代

13.4 小结

第14章 函数式编程的技巧

14.1 无处不在的函数

14.2 持久化数据结构

14.3 Stream的延迟计算

14.4 模式匹配

14.5 杂项

14.6 小结

第15章 面向对象和函数式编程的混合:Java 8和Scala的比较

15.1 Scala简介

15.2 函数

15.3 类和trait

15.4 小结

第16章 结论以及Java的未来

16.1 回顾Java 8的语言特性

16.2 Java的未来

16.3 写在最后的话

附录 A 其他语言特性的更新

A.1 注解

A.2 通用目标类型推断

附录 B 类库的更新

B.1 集合

B.2 并发

B.3 Arrays

B.4 Number和Math

B.5 Files

B.6 Reflection

B.7 String

附录 C 如何以并发方式在同一个流上执行多种操作

C.1 复制流

C.2 性能的考量

附录 D Lambda表达式和JVM字节码

D.1 匿名类

D.2 生成字节码

D.3 用InvokeDynamic力挽狂澜

D.4 代码生成策略

Java 8实战是2016年由人民邮电出版社·图灵出品出版,作者[英]厄马(Raoul-GabrielUrma)。

得书感谢您对《Java 8实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
PythonQtGUI与数据可视化编程 电子书

PythonPyQt5编写GUI应用程序及数据可视化方法
JavaScript框架设计 电子书

全面讲解JavaScript框架设计,带你迅速具备相关知识。
JavaScript设计模式与开发实践 电子书

JavaScript面向对象&函数式编程、20个设计模式、设计原则与重构技巧。
JavaScript高级程序设计(第3版) 电子书

国内JavasScript第一书,html+css+javascript教程精粹,html实战实例。
Vim 8文本处理实战 电子书

介绍各种常用的文本编辑方法和程序设计中的实用操作。
算法精粹:经典计算机科学问题的Python实现 电子书
你不知道的JavaScript(中卷) 电子书

本书介绍了“类型和语法”以及“异步和性能”。掌握了这些知识之后,无论什么技术、框架和流行词语,你都能轻松理解。