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 ...
随机推荐
- Linux 中write()函数的出错情况及处理
write函数首先将进程需要发送的数据先放在进程缓冲区中,然后向socket的发送缓冲区进行拷贝,在此,可能出现这样情况,即当进程缓冲区中的数据量大于此时发送缓冲区中所能接受的数据量时,若此时处于阻塞 ...
- The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProv
在mybatis配置文件config.xml中报错: The content of element type "configuration" must match "(p ...
- Android体系结构及activity生命周期
Android的系统架构采用了分层架构的思想,如图1所示.从上层到底层共包括四层,分别是应用程序程序层.应用框架层.系统库和Android运行时和Linux内核 Android的系统架构图 每层 ...
- JS向光标指定位置插入内容
方法: function insertHtmlAtCaret(html) { var sel, range; if (window.getSelection) { // IE9 and non-IE ...
- MYSQL存储过程:批量更新数据2(产品品牌)
执行语句 DELIMITER $$ DROP PROCEDURE IF EXISTS jsjh_goods_property_value_update$$ CREATE PROCEDURE jsjh_ ...
- 自己随意写了个简单的依赖jquery的轮播图
//轮播图 function Switcher(obj){ this.box = $(obj.box); this.width = this.box.width(); this.banner = $( ...
- mvc深入理解
对于v和c好理解, 对于model分为数据对象模型和业务逻辑模型,一般为一个类,数据对象模型包含对一个具体数据表的相关操作,业务逻辑模型为处理一些业务逻辑.
- OSIC Performance Bot
https://github.com/lbragstad/keystone-performance
- JQuery UI Autocomplete与jquery.autocomplete.js
程序中要把一个select改成可以下拉搜索的,就想到了使用下autocomplete.js大概是这么个东西. 问了下同学,推荐我使用Jquery Ui autocomplete,下载下来开始调试使用, ...
- css之字体设置
字体大小font-size 字体风格font-style 字体加粗font-weight 字体类型font-family 字体阴影text-shadow 字体行高line-height 字间距lett ...