10 2020 档案
摘要:文章目录 一.简介 二.内存模型 三.Happens-Before 规则 3.1 规则 3.2 final 一.简介 JMM是一个规范,感兴趣可以查看JSR113标准,描述了JVM平台上多线程程序的语义,具体包括一个线程对共享变量的写入何时能被其他线程“看到”。 二.内存模型 当指令在CPU上运行的
阅读全文
摘要:文章目录 一.简介二.计算机组成2.1 计算机基本硬件组成2.2 冯·诺依曼体系结构2.2.1 可编程计算机2.2.2 存储计算机2.2.3 第一份草案 2.3 组成原理知识地图 三.性能3.1 什么是性能?时间的倒数3.2 计算机的计时单位:CPU时钟 四.功耗4.1 功耗:CPU 的“人体极限”
阅读全文
摘要:文章目录 一.简介 二.函数 三.时间服务和计时器 3.1 简介 3.2 示例 四.副输出/侧输出(SideOutput) 4.1 简介 4.2 示例 一.简介 时间信息和Watermark对很多流式应用至关重要,无法用DataStream API转换来访问它们。 DataStream API提供了
阅读全文
摘要:状态管理地址:Flink 状态管理 文章目录 一.简介 二.MemoryStateBackend 三.FsStateBackend 四.RocksDBStateBackend 五.设置 一.简介 Flink提供三种可用的状态后端:MemoryStateBackend,FsStateBackend,和
阅读全文
摘要:原文地址:IDEA 插件开发实战 文章目录 一. 简介二.原理2.1 背景2.2 基本原理2.3 小结 三.api3.1 框架结构3.2 常用API介绍 四.实例架构五.准备工作六.编码七.部署八.总结 一. 简介 IntelliJ IDEA是一款开发工具,提供很多插件功能,比如阿里规范插件(Ali
阅读全文
摘要:一.简介 函数里所有任务去维护并用来计算结果的数据都属于任务的状态。 流计算分为无状态和有状态两种情况: 无状态计算观察每个独立事件,并根据最后一个事件输出结果。 有状态计算则会基于多个事件输出结果。 状态可以分为两类: 算子状态(operator state)。 键值分区状态(keyed stat
阅读全文
摘要:一.简介 编写正确的并发程序是一件困难的事情,往往调试过程中发生很多不确定的事情,这时需要对理论知识的一个认知,能够准确的追踪问题。 二.硬件背景 CPU,内存,I/O设备不断迭代,这三者速度存在差异,CPU和内存的速度差异可以形象的描述:CPU速度最快,内存次之,I/O设备更次之。 为了合理利用C
阅读全文
摘要:一.简介 watermark是一种衡量Event Time进展的机制,它是数据本身的一种隐藏属性。通常基于Event Time的数据,自身都包含一个timestamp.watermark用来处理乱序事件,而正确的处理乱序事件,通常用watermark机制结合window来实现(https://blo
阅读全文
摘要:一.简介 Flink认为Batch是Streaming的一个特例,所以Flink底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从Streaming到Batch的一个桥梁,Flink提供了非常完善的窗口的机制,这是我认为的Flink最大亮点之一(其他的亮点包括消息乱序处
阅读全文