摘要:
堆积排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。堆排序是不稳定的排序方法,辅助空间为O(1), 最坏时间复杂度为O(nlog2n) ,堆排序的堆序的平均性能较接近于最坏性能。 中心思想是在使用数组存储的完全二叉树内从下往上每 阅读全文
摘要:
转发请注明原创地址 http://www.cnblogs.com/dongxiao-yang/p/6264831.html 冒泡 快速排序1 快速排序2代码优化 阅读全文
摘要:
转载请注明原创地址 http://www.cnblogs.com/dongxiao-yang/p/6238029.html 最近需要详细研究下kafka reblance过程中分区计算的算法细节,网上搜了部分说法,感觉比较晦涩且不太易懂,还是自己抠源码比较简便一点。 kafka reblance计算 阅读全文
摘要:
转发请注明原创地址http://www.cnblogs.com/dongxiao-yang/p/6234673.html 最近业务同学反馈kafka上线的时候某个topic的部分分区一直没有owner注册上,监控界面形式如图,其中分区5和7无法被消费者注册到,重启客户端程序rebalance依旧是这 阅读全文
摘要:
转载请注明原创地址http://www.cnblogs.com/dongxiao-yang/p/6142356.html Storm 的拓扑有一些特殊的称为“acker”的任务,这些任务负责跟踪每个 Spout 发出的 tuple 的 DAG。开启storm tracker机制的前提有三个: 1. 阅读全文
摘要:
转载请注明原链接地址 http://www.cnblogs.com/dongxiao-yang/p/6134393.html btrace 是一个可以不用重启线上java业务查问题的神器,记一下自己折腾半天写的几个demo java业务代码 btrace 脚本 脚本启动命令 ./bin/btrace 阅读全文
摘要:
转发请注明原文地址:http://www.cnblogs.com/dongxiao-yang/p/6031398.html 最近协助同事优化一个并发消费kafka数据用来计算的任务,压测过程中发现有两个spout对应的topic消费速度明显低于其他topic的指标,每个spout分配10个并发消费速 阅读全文
摘要:
原文链接转自:http://woodding2008.iteye.com/blog/2328114 Storm的滑动窗口TickTuple通常用来控制bolt定制执行入库操作,使用过程中遇到了TickTuple“意外停止”的情况。 场景描述 Jiaodian任务共计使用12个worker,tick 阅读全文
摘要:
BlockingQueue 队列接口,具有 4 组不同的方法用于插入、移除以及对队列中的元素进行检查。如果请求的操作不能得到立即执行的话,每个方法的表现也不同。这些方法如下: not applicable (1) ArrayBlockingQueue内部是根据数组实现的,对象内持有一个定长数组:fi 阅读全文
摘要:
注:本文主要介绍了Condition和ReentrantLock工具实现独占锁的部分代码原理,Condition能在线程之间协调通信主要是AbstractQueuedSynchronizer和conditon内有两个队列用来切换,整个协作过程是靠结点在AQS的等待队列和Condition的等待队列中 阅读全文