速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

评论

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

草图大师SketchUp Pro 2023中文版安装包分享【mac/win】

Rose

Screaming Frog SEO Spider(尖叫青蛙网络爬虫软件)永久激活版

Rose

Gauss游马会openGauss-全局临时表

Gauss松鼠会

Translatium for Mac翻译软件(支持150多种语言和方言)

Rose

TikTok直播为什么要用独立IP

Ogcloud

海外直播 tiktok直播 tiktok直播网络 海外IP 海外直播IP

AI图像放大工具,图片放大无所不能

程序那些事

程序那些事 Stable Diffusion

短剧APP遭遇DDoS攻击的解决方法

网络安全服务

负载均衡 IP DDoS DDoS 攻击 短剧app开发

Go 必知必会:探索 Go 语言中的数组和切片深入理解顺序集合

王中阳Go

数组 go语言 切片 go基础

文献解读-Genome-wide imputation using the practical haplotype graph in the heterozygous crop cassava

INSVAST

基因数据分析 生信服务

人工智能 | Mistral 大语言模型

测吧(北京)科技有限公司

测试

XLD音频无损解码 X Lossless Decoder for mac 中文版

Rose

JNPF低代码:可视化如何赋能企业的转型之路

EquatorCoco

低代码 数字化

第七在线携手美国男士内衣品牌Tommy John,共启智能订货新篇章

第七在线

FTP客户端工具 Yummy FTP Pro for Mac中文直装版

Rose

数据库系列: 主流分库分表中间件介绍(图文总结)

EquatorCoco

数据库

简单实用的苹果解压缩软件推荐

Rose

iStat Menus 系统状态监控工具 :全面掌控你的Mac

Rose

Hidden Bar for mac 菜单栏图标隐藏工具|帮你收纳不常用的菜单栏项目

Rose

一场 Kafka CRC 异常引发的血案

不在线第一只蜗牛

kafka 分布式

梦中情池!账单自动化#运营通知

开源物联卡管理平台-设备管理

物联网 IoT eSIM安全 java 技术提升

浅析前端数据埋点监控:用户行为与性能分析的桥梁

不在线第一只蜗牛

数据库 前端开发

阿里巴巴商品搜索API返回值中的图片与详情链接

技术冰糖葫芦

api 网关 API Explorer API 策略 pinduoduo API

行业首家!百度智能云通过中国信通院「H5 端人脸识别安全能力」测评

Baidu AICLOUD

人脸识别

开发拍卖平台必知的技术风险,如何用最低成本规避?

软件开发-梦幻运营部

MiniMax 首个文生视频模型发布,可生成 6s,限时免费;阿里 Qwen2-VL 第二代视觉语言模型开源丨RTE 开发者日报

声网

Office 2021全套包支持mac和win安装下载

你的猪会飞吗

Office 2021 Office LTSC 2021 office2021 Mac破解版

Spring框架之IOC介绍

快乐非自愿限量之名

spring ioc

加入华为云开源共创,让优秀开发者支持更优秀开发者

华为云开发者联盟

采取预测分析最佳战术,指点企业未来精准决策

智达方通

企业管理 全面预算管理 财务规划 财务预测 财务预测分析

有奖问卷调研|OpenTiny给你送天命人好礼啦!

OpenTiny社区

开源 低代码 用户体验 OpenTiny 前端组件库

犀牛Rhinoceros 7:专业的3D建模软件

Rose

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