最近看到一篇文章推了一个开源项目,GlobalTimer.主要是可以用一个定时器来统一管理多个定时任务,可以针对特定任务进行管理. 一.原理 1.一个公共的timer 2.封装任务到自定义个Event中,保留任务的执行代码与数据,时间信息等 3.计算所有任务间隔的最大公约数x,用这个x作为timer的触发间隔 4.timer触发时,遍历所有任务,看是否到了执行间隔来决定是否执行 二.记录点 1.最大公约数与最小公倍数计算公式 // 最大公约数 int gcd(int a, int b) { if…
即日起开始spark源码阅读之旅,这个过程是相当痛苦的,也许有大量的看不懂,但是每天一个方法,一点点看,相信总归会有极大地提高的.那么下面开始: 创建sparkConf对象,那么究竟它干了什么了类,从代码层面,我们可以看到我们需要setMaster啊,setAppName啊,set blabla啊...等等~ val sparkConf = new SparkConf().setMaster("local").setAppName("TopActiveLocations&qu…