2020你还不会Java8新特性? (23)

lambda不是匿名内部类的语法糖,或者说是缩写。是一种新的形式。

public class LambdaTest { //内部类,和lambda表达式之间的关系。 Runnable r1 = () -> System.out.println(this); // this表示当前类的对象 //匿名内部类 Runnable r2 = new Runnable() { // @Override public void run() { System.out.println(this); // this 表示匿名内部类的对象 } }; public static void main(String[] args) { LambdaTest lambdaTest = new LambdaTest(); Thread t1 = new Thread(lambdaTest.r1); t1.start(); System.out.println("- - -- - "); Thread t2 = new Thread(lambdaTest.r2); t2.start(); //输出结果。 //com.sinosoft.lis.test.LambdaTest@62661526 //com.sinosoft.lis.test.LambdaTest$1@59a30351 } }

使用了模板方法模式。

流是惰性的,是延迟操作的。遇到终止操作时,才会执行操作。

TerminalOp。 终止操作的接口类。

终止操作 只有四种类型, findOp foreachOp matchOp reduceOp

PipelineHelper

stream中间操作与终止操作层次体系分析与设计思想分析 中间操作

BaseStream -》 AbStractpipeline -》ReferencePipeline -》 Head || StatelessOP || statefulOp

最顶层的源 很多源的成员变量 管道 构造流源 无状态的中间操作 有状态的中间操作

流是惰性的,是延迟操作的。遇到终止操作时,才会执行操作。再没有终止操作之前,在整合中间操作(Sink)。

终止操作

TerminalOp -》 FindOp || ForeachOp || MatchOp || reduceOp

最顶层的

TerminalSink

终止的饮水槽。

Java8(8)时间日期API joda-time

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwgpf.html