Atitit.提升软件稳定性---基于数据库实现的持久化 循环队列 环形队列
Atitit.提升软件稳定性---基于数据库实现的持久化 循环队列 环形队列
1.1. 用一个游标last 来指示 (指针表字段last ),麻烦的,不推荐
1
1.2. (简单,推荐)使用循环次数来指示,每循环加1 (字段cirTimes),order by cirtimes
1
4. 表格设计id, cirTimes,createtime,handlerID,recID,delFlag 1
1.4. 抓取要处理的元素 peek(int fetchCount) delFlag=0,order by cirtimes 2
1.5. 出队并追加到队尾remove,removeALL(list)::: cirtimes++; 2
1. 前言::选型(马)
挑选李一瓦,马个适合的implet
为甚要使用循环队列 ,,可以大的提升队列的稳定性..防止推送消息outdate不送...and避免队列卡住
2. 实现java.util.queue接口
3. 当前指针的2个实现方式
1.1. 用一个游标last 来指示 (指针表字段last ),麻烦的,不推荐
1.2. (简单,推荐)使用循环次数来指示,每循环加1 (字段cirTimes),order by cirtimes
作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
4. 表格设计id, cirTimes,createtime,handlerID,recID,delFlag
id, cirTimes,createtime,handlerID,recID,delFlag
handlerID::可以让许多的处理器使用,每个processor只获得自己的队列..
recid::关联的rec id...
5. 循环队列 环形队列使用流程
1.3. 加入队列addALL,add
1.4. 抓取要处理的元素 peek(int fetchCount) delFlag=0,order by cirtimes
public List peek(int fetchCount) {
// attilax 老哇的爪子 m_9_r o7s
final List li=new ArrayList();
// noticeFlag is null
String hql="from GvDownloadTask where 1=1 and downloadStatus is null order by noticeFlag ";
Query q = getSession().createQuery(hql);
);
q.setMaxResults(fetchCount);
List l = q.list();
return l;
}
1.5. 出队并追加到队尾remove,removeALL(list)::: cirtimes++;
);
c.merge(t);
Atitit.提升软件稳定性---基于数据库实现的持久化 循环队列 环形队列的更多相关文章
- Atitit.升级软件的稳定性---基于数据库实现持久化 循环队列 循环队列
Atitit.升级软件的稳定性---基于数据库实现持久化 循环队列 环形队列 1. 前言::选型(马) 1 2. 实现java.util.queue接口 1 3. 当前指针的2个实现方式 1 1.1 ...
- atitit.提升软件开发的效率and 质量的那些强大概念and方法总结
atitit.提升软件开发的效率and 质量的那些强大概念and方法总结 1. 主流编程中三个最糟糕的问题 1 1.1. 从理解问题后到实现的时间很长 1 1.2. 理解和维护代码 2 1.3. 学 ...
- Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725
Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...
- atitit.提升软件开发效率大的总结O5
atitit.提升软件开发效率大的总结O5 #---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建 ...
- Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net
Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net 1. 提升单例有能力的1 2. 减少工作数量2 2.1. 减少距 ...
- atitit.提升软件开发的生产力关健点-------大型开发工具最关健
atitit.提升软件开发的生产力关健点-------大型开发工具最关健 1. 可以创作出更好的工具遍历自己 1 2. 大型工具包括哪些方面 2 2.1. ide 2 2.2. dsl 2 2.3. ...
- Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结
Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结 1. 管道抽象 1 2. 层次结构抽象(json,xml etc) 1 3. 异步抽象promise 1 4. Ide ...
- atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表
atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表 1. 建模在后自动建表 1 1. 传统上,需要首先建表,在业务编码.. 1 2. 模型驱动建表---更多简化法是在建 ...
- atitit.提升开发效率---mda 软件开发方式的革命--(2)
atitit.提升开发效率---mda 软件开发方式的革命--(2) 1. 一个完整的MDA规范包含: 1 2. 一个完整的MDA应用程序包含: 1 3. MDA能够带来的最大的三个好处是什么? 2 ...
随机推荐
- UML类图画法及其之间的几种关系
最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下. 文章目录如下: 类图画法 类之间的几种关系:泛化(Generaliz ...
- DevOps的修炼之路!
作为一名产品经理,首先要知道产品对于所属公司来说意味着什么,要探寻这个问题,我们又得知道和公司息息相关的是什么,在我的理解来看,与公司状况相关的因素有以下这些: 市场份额 平均订单金额 盈利能力 资产 ...
- ssh免密码登陆
Ssh免密码登陆设置 准备工作:1.确保两个主机里没有id_rsa.pub和authorized_keys的文件(这两个文件会影响实验的结果)# find / -name id_rsa.pub可查看是 ...
- 扩展Smack Message
XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性. Smack是一个开源的用 java 写的XMPP(jabber)客户端代码库 因为XMPP是XML,所以进行 ...
- oracle备忘
一.explain plan a)explain plan for select ... select * from table(dbms_xplan.display()); function dis ...
- iOS开发之AFNetworking 3.0.4使用-OC
GET请求 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager GET:URL parameters: ...
- ubuntu14安装java8
http://ubuntuhandbook.org/index.php/2015/01/install-openjdk-8-ubuntu-14-04-12-04-lts/
- MapReduce几个简单的例子
文件合并和去重: 可以把每一行文本作为key,value为随意值. 数字排序: MapReduce过程中就有排序,它是按照key值进行排序的,如果key为封装int的IntWritable类型,那么M ...
- mac配置java开发环境: jdk1.7 +sdk1.7+maven +tomcat
1.先安装jdk ,才能安装sdk .2 mac中jdk1.7的默认位置:/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home ...
- POJ3680_Intervals
给你若干个区间,每个区间有一个权值,你可以选出某些区间,使得在保证没有任何一段的覆盖次数超过k的前提下,总的权值最大. 这个建模真的十分神奇,赞一个. 对于给出的每一个区间,离散化,最终我们可以知道所 ...