1.接口的新特性;在接口方法可以有方法体,但是得被default修饰;
2.关于方法引用,::,类名::方法名(静态方法);普通方法:对象名::方法名;木有方法的参数
3.lambda表达式()
4.数据流;
如何处理容器的;
容器元素进行过滤,进行转换,默认先循环一遍容器
如果说数据量比较大,处理的过程比较麻烦,咋办?
数据流编程:
先拿到一个数据,进行处理和转换,全部走完以后,才能处理第二个;
数据是分散的,在不同的计算机,都有一份数据(hdfs);由于数据量比较大,不能把数据从A计算机拷贝到B计算机;但是我们码的代码很少,可以直接把代码从A计算机拷贝B计算机,然后执行(移动计算而不是移动数据)
2.1.数据流编程
所有的类都在java.util.stream.Stream;
此接口和父接口有那么多方法,归为两类;
一类方法的返回值是BaseStream(spark transformaction 算子)
一类方法的返回值是非BaseStream(Spark action 算子)
transformation 算子是懒惰的,
action 算子是积极的;
transformation:必须要用action算子来启动;如果没有action算子,那transformation不会执行;
action算子只能执行一次;
Stream有一个方法叫:paraller:相当于多线程,它会对数据进行分隔,同时处理(提高效率);