《Java8实战》读书笔记
为什么看这本书?
在实际的开发过程,查资料经常会看到 ->、Stream 接口,第一次接触这些时,让我感到有些懵圈,这些都是什么玩法?-> 不是 JavaScript 里的语法糖吗?
为了一探究竟,我查了相关内容,原来都是 Java 8 的新特性。
那 Java 8 到底添加了哪些新特性?它们的用法和作用是什么?用起来爽不爽?
在豆瓣上找到了这本 9.3 分的书,带着以上疑问就开始探索了。
这本书的整体情况:
300 多页,读起来并不轻松。晚上有空就看一点,觉得有用就记一些笔记到博客中,零零散散总共花了大半个月,把这本书看完了。
书中详实地讲了 Java 8 的新特性:Lambda 表达式、函数式数据处理-流(Stream 接口)、接口的默认方法、CompletableFuture 组合式异步编程、Optional、新的时间和日期 API。
其中 Lambda 表达式、函数式数据处理-流(Stream 接口)这两部的例子最为详细
整书一直在强调并行计算,如:Stream 接口如何利用计算机的多核,并行又会带来哪些麻烦;CompletableFuture 如何进行并行计算;Fork/Join 框架如何分解任务,如何合并任务,来提高性能。
推演了为什么接口添加支持默认方法,导致的类似 C++ 的菱形继承问题又是按照什么规则解决的。
为了避免空指针异常,推出了 Optional。
原有的 Date、Calendar 类的存在设计缺陷、表达不直观、偏移复杂,Java 8 推出了新的时间和日期 API。
最后还补充了对函数式编程的思考,与 Scala 语言对比;指出 Lambda 表达式出现异常调试信息不清晰等缺点;以及对 Java 未来的期待。
适合阅读人群:
这并不是一本适合入门的书籍,需要有一定 Java 基础。
书中虽然把问题讲解的很清晰,也包含了大量的使用示例,但没有一定 Java 的使用经验,仍然无法深刻体会出新特性的精髓。
最大的感触:
使用过新的时间和日期 API,获取年月日时分秒,时间日期的计算,比 Date、Calendar 简单好用。
非中间件开发,并行化使用的还是比较少,毕竟出错的概率较高,成本较大。
Lambda 表达式和 Stream 接口的使用,确实能简化代码,看起来更容易理解,有种类 SQL 的命令式。
Java 8 的改变是有惊喜的。
最后弱弱的感叹一句,Java 14 都出来了,公司生产环境还在用 JDK 6,真是稳到不行啊!泪奔...
上一篇读书笔记:
《Hello First HTML 与 CSS 第2版》读书笔记
今年书单:
备一下 2020 年学习 Java 的 40 本书
进度已慢,怕是完不成了。
更多相关文章
- 记一次三元表达式的坑(避免采坑)
- 详解第三种创建线程的方式-Callable接口
- 【编测编学】接口测试面试题必背(下)
- java8的一个新特性-Lambda表达式的详解(从0开始)
- 讲给前端的正则表达式(4):避免灾难性回溯[每日前端夜话0x105]
- 讲给前端的正则表达式(2):写出更优雅、更精确的正则表达式[每日前
- 讲给前端的正则表达式(1):基本概念
- 讲给前端的正则表达式(3):使用 ES6 特性[每日前端夜话0x104]
- 快速测试 API 接口的新技能