写点什么

书评:《All About Java 8 Lambdas》

  • 2016-06-07
  • 本文字数:1233 字

    阅读完需:约 4 分钟

将这本书命名为《All About Java 8 Lambdas》其实并不公平。实际上,它包含了 Java 8 中新加入特性的大量信息,包括了 lambdas,但是还有很多很多。这本书被描述为“周末读物”,它只有 150 多页,如此简洁的篇幅当然配得上这种叫法。

这本书的内容分为 14 章,可划分为三部分,第一部分介绍了 lambdas,中间一部分介绍了 predicate 和函数式接口类型以及函数式组合,最后一部分专门用来介绍流和流处理,包括并行处理和顺序处理,用到了之前的 lambdas 和函数。这些章节非常完美地组合在一起,它还阐述了 Java 8 中一些其他的特性,如接口中的静态和默认方法以及方法和构造器引用。

这些章节本身都经过深思熟虑并且具有逻辑性,带有样例和代码片段,这些代码可以在本书的GitHub 仓库中获取。实际上,几乎所有的页面上都有示例代码,并且会有文字来阐述这些特定的代码片段是做什么的。

在起始的时候,会为读者展现一些新的语法类型,在概述这一章将会介绍lambdas 的目的并阐述内联lambdas 和方法引用。接下来,会用几章的篇幅剖析样例,更加详细地介绍语法和它们所能应用的特定场景。

该书对函数式编程的介绍是从函数的目的以及 FunctionalInterface注解开始的。然后介绍更为具体的类型,如PredicateConsumerSupplierBiFunction,中间会包含每种类型的样例。尽管作者可以就此收笔,但他同时也展示了如何将函数式的结果链接在一起,并使用它们来构建处理链。

该书在最后的章节介绍了流,包括如何mapflatMap函数以及对集合进行 stream 处理,其中包含原始类型流与其面向对象版本的效率对比。

对流的介绍随后转移到了 optional 类型上,以及它们如何进行 chain/map 操作,同时还介绍了分组操作,该操作允许数据基于特定的数据结构打散并进行 pivot 计算。

最后,讨论了顺序和并行流处理的差异,并给出了一些建议,指出在特定场景下哪种类型的更为合适。

尽管本书声称只讨论 lambdas,但是它涉及了 Java 8 中众多的新特性。它没有讨论到的是一些新的 API,如java.time包,当然本书也没有承诺会介绍这些内容。这本书涉及到了 Java 语言本身所有的语法变更,以及java.util.function包中的新 API。

该书唯一缺失的就是索引。如果你有电子版本的话,这可能算不上什么问题,因为你可以进行全文搜索来查找要引用的内容,但是如果你所购买的是纸质版本的话,那么起始的章节目录就是进行查找的唯一方式了。假如我们能够定位到正确章节的起始点,因为每章都很短再加上内部的标题,所以查找特定的内容相对来讲都很容易。

如果你只有一个周末的时间来了解 Java 8 语言的新特性的话,那么这本书是一个绝佳的开端。

关于作者

Madhusudhan Konda——我是一名 Java 开发人员,目前在伦敦工作,主要服务于投资银行和金融组织。我使用 Java 平台已经超过 15 年了。我开始是 C / C++ 程序员,当我在印度的 IIT Kharagpur 攻读硕士学位时,我快速学习了 Java。从那时我就深爱上了这门语言,并且沿着这条道路一直走到了现在。

查看英文原文: Book Review: All About Java 8 Lambdas

2016-06-07 19:354174

评论

发布
暂无评论
发现更多内容

DataEase 在 Mac 系统下的 jar 包部署

搞大屏的小北

DataEase Mac 系统 jar 包部署

再谈持续测试

FunTester

天翼云荣获2022年度“边缘计算先锋企业”“分布式云先锋企业”称号!

天翼云开发者社区

DataEase 本地源码启动

搞大屏的小北

RatingBar(星级评分条)

芯动大师

Android Studio 星级评分条 ratingbar

应用 Serverless 化,让业务开发心无旁骛

阿里巴巴中间件

阿里云 Serverless 云原生

容器服务与达摩院合作 AHPA 获 AAAI 2023 IAAI人工智能创新应用奖

阿里巴巴中间件

阿里云 容器 云原生

场景 | 九科信息大型制造企业RPA数字化解决方案

九科Ninetech

效能指标「研发浓度」在项目度量中的应用

feijieppm

项目管理 技术管理 文化 & 方法 效能度量 #研发效能

《天翼云安全白皮书》发布!共铸国云安全生态!

天翼云开发者社区

效能改进中的度量实践

feijieppm

项目管理 研发效能 技术管理 文化 & 方法 效能度量

亚马逊云科技 2022 re:Invent 观察 | 天下武功,唯快不破

亚马逊云科技 (Amazon Web Services)

亚马逊云科技 Builder 专栏

阿里巴巴重磅开源云原生网关: Higress

阿里巴巴中间件

阿里云 云原生 Higress

微服务引擎 MSE 升级至 3.0:降低微服务在云原生时代的演进成本

阿里巴巴中间件

阿里云 微服务 云原生

国内外开源数据可视化工具对比:DataEase相较于MetaBase有何优势

搞大屏的小北

DataEase Metabase 数据可视化工具对比 对比

大前端—2022明星项目,2023展望

非喵鱼

JavaScript Vue 前端 React 前沿技术

大规模 Kubernetes 集群故障注入的利器-ChaosBlade

阿里巴巴中间件

阿里云 Kubernetes 云原生 ChaosBlade

项目制实践如何助力组织进化

feijieppm

项目管理 研发效能 技术管理 文化 & 方法 效能度量

DataEase数据集定时同步任务报错解决

搞大屏的小北

异常 报错 DataEase 数据集定时同步任务

数据分析原来还可以这么搞?

搞大屏的小北

数据分析 知乎 数据分析工具

如何用 Excel 做数据分析,提升你的工作效率?

搞大屏的小北

提升效率 Excel 数据可视化 DataEase

DataEase 在 Windows 系统下的 jar 包部署

搞大屏的小北

2023-01-11:体育馆的人流量。编写一个 SQL 查询以找出每行的人数大于或等于 100 且 id 连续的三行或更多行记录。返回按 visit_date 升序排列 的结果表。 DROP TAB

福大大架构师每日一题

MySQL 福大大

如何选择数据可视化图表?

搞大屏的小北

什么是云渲染?云渲染速度快吗?

Renderbus瑞云渲染农场

云渲染 云渲染是什么 云渲染速度快吗

您有一套专属权益已送达,请注意查收

天翼云开发者社区

安全可信| 密评合规!天翼云全栈混合云通过商用密码应用安全性评估!

天翼云开发者社区

Higress 开源后,我们整理了开发者最关心的 15 个问题

阿里巴巴中间件

阿里云 云原生 Higress

问题盘点|使用 Prometheus 监控 Kafka,我们该关注哪些指标

阿里巴巴中间件

kafka 阿里云 云原生 Prometheus

书评:《All About Java 8 Lambdas》_Java_Alex Blewitt_InfoQ精选文章