写点什么

书评:《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:354184

评论

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

揭秘盒马鲜生,如何打破收益增长天花板!

博文视点Broadview

数据产品经理实战-由BI到业务洞察

第519区

大数据 数据产品 数据分析体系

一气之下开发了个群聊机器人

诡途

Python 办公自动化 群聊机器人

寻找被遗忘的勇气(二十二)

Changing Lin

3月日更

数据分析实战项目-蛋壳公寓投诉分析

诡途

Python 数据分析 蛋壳公寓

飞桨刷新分子性质预测榜单,助力AI药物研发

百度大脑

AI 药物研发 百度飞桨

Flink架构体系

大数据技术指南

大数据 flink 28天写作 3月日更

Spark常见的故障排除

五分钟学大数据

大数据 spark 28天写作 3月日更

智能家居操作系统谁最强?海尔智家独有“智家大脑”行业最领先

DT极客

实时 摔倒识别 /运动分析/打架等异常行为识别/控制手势识别等所有行为识别全家桶 原理 + 代码 + 数据+ 模型 开源!

cv君

AI 目标检测 视频理解 引航计划

手把手教学基于深度学习的遥感影像倾斜框算法训练与分析

cv君

人工智能 深度学习 AI 智能 视觉

首席AI架构师进阶之旅开启!第4期60位AICA学员硬核开学

百度大脑

AI 百度飞桨

问题排查 | 客户端突如其来的“白屏”等待

蚂蚁集团移动开发平台 mPaaS

html5 移动开发 mPaaS 离线包

如何优化管理,打造高效的技术团队?

有只小耳朵

团队管理 技术管理 数字化转型

一套亿级用户的IM架构技术干货(下篇):可靠性、有序性、弱网优化等

JackJiang

C 语言性能优化:循环展开

1

编程 程序员 性能优化 C语言 循环展开

2021年ONNX开发者大会即将召开

百度大脑

百度飞桨 ONNX

【遇见Doris】基于Apache Doris的小米增长分析平台实践

ApacheDoris

Fluid 0.5 版本发布:开启数据集缓存在线弹性扩缩容之路

阿里巴巴云原生

容器 云原生 k8s 分布式数据库 调度

致远互联低代码平台让项目管理“秒变”数字化

爱极客侠

飞桨中国行首站重庆 解读产业 智造

百度大脑

百度 飞桨 中关村智酷

安卓最全面试考点与面试技巧,大厂直通车!

欢喜学安卓

android 程序员 面试 移动开发

启动延时缩短 50%-80%,函数计算发布镜像加速功能

阿里巴巴云原生

Docker 容器 开发者 云原生 存储

python 爬虫之selenium可视化爬虫

诡途

Python 爬虫 selenium

最全面试考点与面试技巧,面试必问

欢喜学安卓

android 程序员 面试 移动开发

【活动回顾】5G时代的直播,将带来哪些低延迟体验

ZEGO即构

加入即可服务1.83亿个家!海尔智家让开发者面向亿万家庭

DT极客

在这里,每一行代码都需要被认真对待

DT极客

最全模型效果评估报告上线,百度EasyDL助力模型效果快速优化

百度大脑

飞桨 EasyDL

【疑难杂症】关于Github私有库问题

Sher10ck

GitHub pycharm

入选Gartner全球AI报告,阿里云解读AI工程化的三大基础能力

阿里云大数据AI技术

机器学习 AI Gartner

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