这次来复习一下常用的 ParNew 和 CMS GC 的概念和一些调优建议
重读 JVM - javac & javap
最近看到周志明大神的《深入理解 Java 虚拟机》出了第三版,想想之前看完了第二版,当时处于一知半解的状态,所以趁着这个机会,重新学习,看完了第三版,于是做个记录。
收集了这么多实用技巧,帮助你的 iterm2 成为最帅的那个!
Flink 基础学习(七) 窗口 Window
Flink 基础学习(六)时间 Time 和 Watermark
前面的例子中有出现过 时间窗口 TimeWindow
这个词语,其实是两个概念,时间 Time
和窗口 Window
。
本篇文章比较干货,主要翻译自官网(参考资料一), 来讲下关于 Time
的学习、理解以及配套的概念 Watermark
。
Watermark
有两种译法:水位线、水印。由于个人暂时分不清,所以后面一律以英文 Watermark
出现
Flink 基础学习(五)数据存储 DataSink
Flink 基础学习(四)转换 Transformation
Flink 基础学习(三)数据源 DataSource
为何要使用 Flink
因为本篇文章中,有个 Kafka
数据源的 Demo
,在一开始解答小伙伴有可能的困惑:
Question:既然监听 Kafka
消息,为何不建立一个简单的消息消费者,使用简单的代码就能进行消息的消费?
Answer:在普通的消费者逻辑中,只能做到对传送过来的一条消息进行单条处理。而在 Flink
这个优秀的流计算框架中,能够使用窗口进行多样化处理。提供了窗口处理函数,可以对一段时间(例如 5s 内)或者一批(计数大小,例如 5 个一批)的数据进行计数或者 reduce
整合处理
还有 Flink
拥有状态管理,能够保存 checkpoint
,如果程序出现错误,也能够之前的检查点恢复,继续程序的处理,于是拥有这些好处的优秀框架,希望小伙伴也加入进来,一起学习~
Flink 基础学习(二)搭建一个 "Hello World" 程序
在学习技术时,总会有一个简单程序 Demo
带着我们入门,所以参考着官网例子,带大家快速熟悉 Flink
的 Hello World
~
说明一下,项目运行的环境如下:
OS : Mac
Flink Version : 1.9
IDE : IDEA
Java Version : 1.8
下面来讲下关于环境准备,如果是 Windows
的用户,请参照每个步骤,找到适应自己的安装 or
启动方法。