潇洒爆米花

文章
5
资源
0
加入时间
2年10月21天

canal 源码解析(2)-数据流转篇(1)

1) 上一篇 只是正常启动,但是线程是等待中,没有数据接入处理。现在开始模拟同步数据,并分析其中原理  如上一片线程阻塞点位于:AbstractEventParser类的start方法2)mysql主从复制重点就在这里了,当前因为 startposition里部位null,// 4. 开始dump数据// 判断所属instance是否启用GTID模式,是的话调用ErosaConnection中G...

CopyOnWriteArrayList简单使用及性能测试

CopyOnWriteArrayList用于替代同步List,在某些情况下有更好的并发性能,并且在迭代时不需要加锁或复制。在每次修改的时候都会创建并重新发布一个新的容器副本。下面是源码: //添加元素,会加锁,创建一个新的对象,原引用指向新对象 public boolean add(E e) { final ReentrantLock lock = this...

Android核心分析之(26)Android GDI之SurfaceFlinger

Android GDI之SurfaceFlinger  SurfaceFinger按英文翻译过来就是Surface投递者。SufaceFlinger的构成并不是太复杂,复杂的是他的客户端建构。SufaceFlinger主要功能是:  1) 将Layers (Surfaces) 内容的刷新到屏幕上  2) 维持Layer的Zorder序列,并对Layer最终输出做出裁剪计算。  3)