读JAVA8 in action的简单总结

JAVA8的知识我主要来源于JAVA8 in action书上,in action系列的书是我最喜欢的技术书籍之一,这本书于去年看完,但现在才做总结,只能总结些碎片知识。
个人感觉JAVA8的出现又提升了JAVA的档次,JAVA8主要有2个特征 lambda表达式和流式处理,lambda表达式不在是把变量作为第一公民,而是把函数作为第一公民,程序员传递的时候可以传递方法,就是俗称的函数式编程,流式处理的意思是使用内部迭代来处理数据,而foreach和for循环是外部迭代数据。流操作分为2类操作,流中间操作和流结束操作,流中间操作具体包含了 排序,过滤,映射,查找,去重,流结束操作包含遍历,归约,统计数量。
详细介绍下lambda表达式的map和flatmap这两个方法,map把数据转化为一个个流,而flatmap把一个个流在合并为一个流,这两个在代码中经常使用,刚开始使用的时候,犯了了点错,其它感觉都比较简单,所以不在细说。
Stream()和parallelStream()这个是JAVA8带来的好东西,可以不用多线程就能实现数据并行处理,这个使用时起来很爽的,但是如果使用不当的话,会很坑,所以小心,而且当数据量越大时,并行处理的效果越明显。

补充JAVA8还有2个特性,红黑树和Optional。

你可能感兴趣的:(读JAVA8 in action的简单总结)