<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yangxiaobo118的博客]]></title><description><![CDATA[微信：yl308812 邮箱：3388169@qq。com]]></description><link>https://blog.youkuaiyun.com/yangxiaobo118</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yangxiaobo118]]></copyright><item><title><![CDATA[算法学习总结]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/120113068</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/120113068</guid><author>yangxiaobo118</author><pubDate>Sun, 05 Sep 2021 23:20:26 +0800</pubDate><description><![CDATA[算法学习总结对算法的一些理解算法是什么算法能给我们带来什么如何学好算法算法所依赖的数据结构线性数据结构一些常见算法介绍算法的一些工业化应用整个过程中的收获如何高效的练习算法新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
对]]></description><category></category></item><item><title><![CDATA[Flink笔记-架构设计]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/100804085</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/100804085</guid><author>yangxiaobo118</author><pubDate>Fri, 13 Sep 2019 16:58:57 +0800</pubDate><description><![CDATA[Flink笔记-架构设计基本组件栈物理部署层Runtime核心层API层架构设计细节
Flink架构体系采用的也是分层设计，在降低系统耦合度的同时，也为上层用户构建Flink应用提供了丰富友好的接口。整体从下到上分为三层，物理部署层、Runtime核心层以及API&amp;Libraries层，而API层官方又根据抽象级别的不同细分了四层，之前笔记介绍过。
基本组件栈
物理部署层
主要是负责Fli...]]></description><category></category></item><item><title><![CDATA[Flink笔记-延迟数据处理]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/100173001</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/100173001</guid><author>yangxiaobo118</author><pubDate>Sat, 07 Sep 2019 18:41:56 +0800</pubDate><description><![CDATA[Flink笔记-延迟数据处理Out Of Order&amp;LateAllowedLateness&amp;OutputTag关于测输出（OutputTag）
Flink的窗口处理流式数据虽然提供了基础EventTime的WaterMark机制，但是只能在一定程度上解决数据乱序问题。而某些极端情况下数据延迟会非常严重，即便通过WaterMark机制也无法等到数据全部进入窗口再进行处理。默认情况下...]]></description><category></category></item><item><title><![CDATA[Flink笔记-Evictors数据剔除]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/100056371</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/100056371</guid><author>yangxiaobo118</author><pubDate>Sat, 24 Aug 2019 21:14:24 +0800</pubDate><description><![CDATA[Flink笔记-Evictors数据剔除Evictors TypeCountEvictorTimeEvictorDeltaEvictor自定义Evictor
编程过程当中，可以通过调用DataStream API的evictor()方法【可选方法】传入相应的Evictor对进入WindowFunction前后的数据进行剔除处理，默认的Evictors都是在WindowFunction计算之前对数据...]]></description><category></category></item><item><title><![CDATA[Flink学习笔记-Trigger窗口触发]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/99103112</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/99103112</guid><author>yangxiaobo118</author><pubDate>Sat, 10 Aug 2019 21:03:13 +0800</pubDate><description><![CDATA[Flink学习笔记-Trigger窗口触发Flink提供的Triggers自定义Trigger
窗口的计算触发依赖于窗口触发器，每种类型的窗口都有对应的窗口触发机制，都有一个默认的窗口触发器，触发器的作用就是去控制什么时候来触发我们的聚合方法。Flink内部定义实现了如EventTimeTrigger、ProcessTimeTrigger、CountTrigger以及DeltaTrigger等等。...]]></description><category></category></item><item><title><![CDATA[Flink学习笔记-WindowsFunction（篇二）]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/97618137</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/97618137</guid><author>yangxiaobo118</author><pubDate>Sun, 28 Jul 2019 21:57:37 +0800</pubDate><description><![CDATA[Flink学习笔记-WindowsFunction（篇二）ProcessWindowFunctionProcessWindowFunction抽象类ProcessWindowFunction简单例子ProcessWindowFunction with Incremental AggregationAggregateFunction combined with ProcessWindowFuncti...]]></description><category></category></item><item><title><![CDATA[Flink学习笔记-WindowsFunction（篇一）]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/95739218</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/95739218</guid><author>yangxiaobo118</author><pubDate>Sun, 14 Jul 2019 10:46:43 +0800</pubDate><description><![CDATA[Flink学习笔记-窗口计算之WindowsFunctionReduceFunction
在确定窗口类型之后，便可以定义窗口数据的计算逻辑，也就是定义Window Function。Flink提供了四种类型Window Function，其中有ReduceFunction、AggregateFunction、FlodFunction和ProcessWindowFunction。其中ReduceFu...]]></description><category></category></item><item><title><![CDATA[Flink学习笔记-窗口计算之WindowsAssigner]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/94313656</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/94313656</guid><author>yangxiaobo118</author><pubDate>Sun, 07 Jul 2019 00:54:29 +0800</pubDate><description><![CDATA[Flink学习笔记-Windows窗口计算WindowsAssignerWindowsTriggerEvictorLatenessOutput TagWindowsFunction
Windows在Flink中作为独立的Operator存在，其可以将无限的数据集按照时间或者长度进行切分，从而完成当前所关心数据的统计计算，满足流计算中相关业务场景。每个窗口算子中，包含了Windows Assigne...]]></description><category></category></item><item><title><![CDATA[Flink学习笔记-窗口触发和乱序处理]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/93377954</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/93377954</guid><author>yangxiaobo118</author><pubDate>Sun, 23 Jun 2019 14:53:11 +0800</pubDate><description><![CDATA[Flink学习笔记-窗口触发和乱序处理Flink窗口函数触发机制out-of-order数据处理
通常来讲，由于各种原因，包含但不限于网络、背压，外部系统因素等，事件数据往往不能够及时传输到Flink系统中进行计算，因此，在开启EventTime的前提下，flink提供了一种依据watermark机制结合window来实现对乱序数据的处理的方式。
Flink窗口函数触发机制

首先，flink窗口...]]></description><category></category></item><item><title><![CDATA[Flink学习笔记-Timer&Watermark]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/90548225</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/90548225</guid><author>yangxiaobo118</author><pubDate>Sun, 02 Jun 2019 13:17:01 +0800</pubDate><description><![CDATA[Flink学习笔记-timer&amp;watermark事件时间API摄入时间api处理时间各类时间之间的关系水位线
flink在计算过程中支持不同维度的时间概念，包含事件时间（Event Time），摄入时间（Ingestion Time），处理时间（Processing Time）；
事件时间
事件时间描述的是处理依赖的事件源产生事件的时间，也就是说在事件进入flink之前就已经以时间戳的方...]]></description><category></category></item><item><title><![CDATA[Flink学习小记-执行计划可视化实操]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/89742062</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/89742062</guid><author>yangxiaobo118</author><pubDate>Thu, 02 May 2019 00:46:44 +0800</pubDate><description><![CDATA[Flink学习小记-实操执行计划可视化执行计划可视化方式Plan Visualization ToolApache Flink Dashboard
flink会根据客户端提交程序的一些参数，以及集群中机器（TaskManager）的数量去自动优化选取一个它认为合适的执行策略（使数据在DAG中流动计算）；通常情况下，了解flink为job选取的执行计划对我们理解flink是如何执行客户端任务是非常有...]]></description><category></category></item><item><title><![CDATA[Flink学习小记-失败恢复重启策略]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/89644198</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/89644198</guid><author>yangxiaobo118</author><pubDate>Mon, 29 Apr 2019 11:16:33 +0800</pubDate><description><![CDATA[Flink学习小记-重启策略欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
欢迎...]]></description><category></category></item><item><title><![CDATA[Flink学习小计-编程模型]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/89281009</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/89281009</guid><author>yangxiaobo118</author><pubDate>Tue, 16 Apr 2019 00:30:22 +0800</pubDate><description><![CDATA[Flink学习小计-编程模型Flink的编程抽象级别有状态的流式处理级别功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入...]]></description><category></category></item><item><title><![CDATA[Flink学习小计-流计算DEMO]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/87734698</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/87734698</guid><author>yangxiaobo118</author><pubDate>Wed, 20 Feb 2019 23:31:55 +0800</pubDate><description><![CDATA[Flink学习小计---流处理DEMOFlink本地安装Flink流处理DEMO项目创建代码书写Api简单说明数据源模拟
Flink本地安装
非常简单，点击这里下载之后解压即可
Flink流处理DEMO
通过一个简单的流处理demo来感性的认识一下Flink。
项目创建
Flink提供了Maven的模板原型，我们可以直接使用如下命令创建Flink项目。
mvn archetype:generate...]]></description><category></category></item><item><title><![CDATA[netty源码浅读 - 内存管理]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/86647560</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/86647560</guid><author>yangxiaobo118</author><pubDate>Wed, 30 Jan 2019 19:35:47 +0800</pubDate><description><![CDATA[netty内存管理ByteBufByteBuf数据结构ByteBuf继承体系ByteBufAllocator家族功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表F...]]></description><category></category></item><item><title><![CDATA[设计模式-责任链模式]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/86599194</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/86599194</guid><author>yangxiaobo118</author><pubDate>Tue, 22 Jan 2019 18:21:50 +0800</pubDate><description><![CDATA[设计模式-责任链模式对责任链模式的理解例子类图
对责任链模式的理解
责任链模式的运用可以使客户端透明的发起服务调用不需要关注具体是哪个环节做发起的调用做具体处理，同样，也方便handler的扩展。
例子
责任链模式结合模板方法模式实例：
抽象handler：
public abstract class AbstractHandler {
    /**
     * 黄金会员
     */
  ...]]></description><category></category></item><item><title><![CDATA[设计模式-策略模式]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/86010987</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/86010987</guid><author>yangxiaobo118</author><pubDate>Mon, 07 Jan 2019 18:06:43 +0800</pubDate><description><![CDATA[设计模式-策略模式简单实例不足策略枚举方式例子优势和不足
策略模式，巧妙的利用了继承和多态的特性，让应用某些算法的功能随着场景的改变而改变；可以与工厂方法模式、代理模式，享元模式搭配使用从而避免对上层暴露太多具体的策略，违背迪米特原则。
简单实例
策略接口
public interface Strategy {
    /**
     * 定义抽象算法
     */
    void algo...]]></description><category></category></item><item><title><![CDATA[设计模式-代理模式]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/85616926</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/85616926</guid><author>yangxiaobo118</author><pubDate>Wed, 02 Jan 2019 18:40:15 +0800</pubDate><description><![CDATA[设计模式-代理模式
根据代理类是在运行前还是运行时指定，代理模式可以分为静态代理和动态代理；动态代理又可以根据实现方式不同分为：jdk动态代理、cglib动态代理，javassist动态代理。

...]]></description><category></category></item><item><title><![CDATA[设计模式-模板方法模式]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/85294417</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/85294417</guid><author>yangxiaobo118</author><pubDate>Wed, 02 Jan 2019 13:46:38 +0800</pubDate><description><![CDATA[设计模式-模板方法模式AQS中的模板方法模式
模板方法模式的优势是可以在设计时就确定算法的执行流程（往往是不可变的），以到达把控整体执行流程的目的，具体实现细节延迟到子类完成，不用关心；也可以用来在重构时，抽取子类的共同逻辑。
AQS中的模板方法模式
AQS是jdk提供的一个抽象队列同步器，主要实现了同步机制的框架，不关注具体的细节，jdk中有很多api运用到了这个同步器，比如：ThreadPoo...]]></description><category></category></item><item><title><![CDATA[设计模式-工厂模式]]></title><link>https://blog.youkuaiyun.com/yangxiaobo118/article/details/85266772</link><guid>https://blog.youkuaiyun.com/yangxiaobo118/article/details/85266772</guid><author>yangxiaobo118</author><pubDate>Thu, 27 Dec 2018 17:12:48 +0800</pubDate><description><![CDATA[设计模式-工厂模式工厂方法模式静态工厂（简单工厂）多个工厂抽象工厂模式
工厂模式可以屏蔽实例化的具体细节，使上下层模块实现解耦。
工厂方法模式
工厂接口
public abstract class Creator {
    /**
     * @return
     */
    public abstract &amp;lt;T extends Product&amp;gt; T createProduc...]]></description><category></category></item></channel></rss>