- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
大数据必备编程知识;本章先回顾和复习一下必备的编程知识,了解这些编程知识有助于我们快速读懂各类源码,深刻理解FlinkAPI及其背后的原理。本书主要基于Java的相关知识,也会在必要的地方兼顾Scala的相关知识。;本章所涉及的主要内容。
熟悉继承和多态。
了解泛型的使用和特点。
了解函数式编程。
;继承和多态
泛型
函数式编程;案例:动物类(Animal)和鱼类(Fish)
继承关系保证所有动物子类都具有动物类的属性和方法
子类有自己的属性和方法。
除了动物,还有很多其他事物也会移动,使用接口(interface)来抽象“移动”。;Java的继承:
继承类extends
实现接口implements
;重写:子类和父类都定义同名方法,子类的方法会覆盖父类中已有的方法。
重载:多个同名方法,这些方法名字相同、参数不同、返回类型不同。;继承和多态
泛型
函数式编程;案例:Java中的List和ArrayList
ArrayList是一个泛型类,List是一个泛型接口
ArrayList泛型是一种集合容器,可以向这个集合容器中添加String、Double以及其他各类数据类型。没必要创建StringArrayList、DoubleArrayList等类。;类名后面加上T
类内部的一些属性和方法都可以使用泛型T
泛型规范:
T代表一般的任何类。
E代表元素(Element)或异常(Exception)。
K或KEY代表键(Key)。
V代表值(Value),通常与K一起配合使用。
;与泛型类类似,使用符号
可以继承并实现这个接口;泛型方法可以存在于泛型类中,也可以存在于普通的类中。
泛型方法的类型E和泛型类中的类型T可以不一样。泛型方法是泛型类的一个成员,泛型方法既可以继续使用类的类型T,也可以自己定义新的类型E。
;Java泛型信息只存在于代码编译阶段,当程序运行到JVM上时,与泛型相关的信息会被擦除。
对于绝大多数应用系统开发者来说影响不太大,对于框架开发者来说,必须要注意。;继承和多态
泛型
函数式编程;适合进行并行计算的一种编程范式
非函数式编程:创建中间变量,分步执行
函数式编程:与数学表达式更相似
实现单个函数,将零到多个输入转换成零到多个输出。比如,add()将两个输入转化为一个输出。
将多个函??连接起来,实现所需业务逻辑。比如,将add()、multiply()连接到一起。;Lambda表达式被一些编程语言用来实现函数式编程。
一个箭头符号-,两边连接着输入参数和函数体。;输入参数:
接收零到多个输入参数
程序员可以提供输入类型,也可以不提供类型,让代码根据上下文去推断
参数可以放在圆括号()中,多个参数通过英文逗号,隔开
函数体:
可以有一到多行语句
函数体有多行内容,必须使用花括号{}
输出的类型与所需要的类型相匹配;Lambda表达式本质是一种接口,它要实现一个函数式接口(FunctionalInterface)中的虚方法
函数式接口是一种接口,并且它只有一个虚方法。
@FunctionalInterface注解;Java8之后推出的,专注于对集合(Collection)对象的操作。
右侧案例:数据先经过stream()方法被转换为一个Stream类型,后经过filter()、map()、collect()等处理逻辑,生成我们所需的输出。各个操作之间使用英文点号.来连接,这种方式被称作链式调用(MethodChaining)。
链式调用:将多个函数连接起来。
Flink的API是面向数据集或数据流的操作。这些操作分布在大数据集群的多个节点上,并行地分布式执行。;本章中,我们回顾了Flink开发经常用到的继承和多态、泛型和函数式编程等概念。在之后的编程学习中可以利用这些内容更好的实现程序业务逻辑。
;谢谢
文档评论(0)