Java8函数式编程读后总结与感想

本文介绍了《Java8函数式编程》一书的主要内容,包括Lambda表达式、流、高级集合类和收集器等核心概念。书中探讨了设计模式的变化、Java8在函数式编程上的局限,如缺乏单子和惰性求值支持。强调了@FunctionalInterface注解在重构中的重要性,以及数据并行化对性能的影响。作者指出,随着技术发展,设计模式需要更新,同时看似可有可无的细节在实际开发中可能起到关键作用。文章推荐此书作为Java8学习的参考资料。

 

1. 基本信息

Java 8函数式编程 Java 8 Lambdas: Functional Programming for the Masses

[英] Richard Warburton 著 ; 王群锋 译

人民邮电出版社,2015年3月出版

1.1. 读薄率

书籍总字数191千字,笔记总字数8153字。

读薄率8153÷191000≈4.27%

1.2. 读厚方向

  1. Java实战(第二版)

  2. Java技术手册(原书第7版)

  3. Learning Java Functional Programming

  4. Functional C#

  5. Functional Programming in C#

1.3. 笔记--章节对应关系

笔记章节字数
读Java8函数式编程笔记01_Lambda表达式第1章 简介
第2章 Lambda表达式
869
读Java8函数式编程笔记02_流第3章 流944
读Java8函数式编程笔记03_高级集合类和收集器第5章 高级集合类和收集器787
读Java8函数式编程笔记04_类库第4章 类库1214
读Java8函数式编程笔记05_数据并行化第6章 数据并行化1227
读Java8函数式编程笔记06_Lambda表达式编写并发程序第9章 使用Lambda表达式编写并发程序881
读Java8函数式编程笔记07_设计和架构的原则第8章 设计和架构的原则1348
读Java8函数式编程笔记08_测试、调试和重构第7章 测试、调试和重构
第10章 下一步该怎么办
883
总计8153

2. 亮点

2.1. 设计模式的生老病死

设计模式不是一成不变的,随着T技术的飞速发展,它也会生老病死,会过时,需要革新,推陈出新。

2.2. Java8函数式编程没提供什么

  1. 没有单子

  2. 没有语言层面的惰性求值

  3. 没有为不可变性提供额外支持

2.3 可有可无的注释其实很重要

@FunctionalInterface 重构代码时,使用它能很容易发现问题

2.4 数据并行化需具体分析相关性能

影响并行化性能的因素有很多,并行化很可能没有串行快,这需要具体场景具体测试。

3. 感想

3.1. 似曾相似和亮点渐少

同一主题的书籍看多了后,似曾相似感渐强,随之而来的就是亮点渐少。

3.2 可有可无的往往堪大用

前文提到的注释就是这样的,不加,也没有多大问题;这就像电动自行车头盔一样,正常情况下,不戴也能正常骑行(当然咯,被警察叔叔抓到就要罚款咯),但是,真正出事故了的时候,是能保命的。同理,重构代码时,那个注释能快速定位,减少排错时间。

建议:可有可无,选有。

3.3. 经典书籍,推荐阅读

Java8作为java系列的里程碑版本,专门针对Java 8 的这本书是推荐阅读的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值