Atitit.提升软件稳定性---基于数据库实现的持久化  循环队列 环形队列

1. 前言::选型(马)
1

2. 实现java.util.queue接口 1

3. 当前指针的2个实现方式 1

1.1. 用一个游标last 来指示 (指针表字段last ),麻烦的,不推荐
1

1.2. (简单,推荐)使用循环次数来指示,每循环加1   (字段cirTimes),order by cirtimes
1

4. 表格设计id, cirTimes,createtime,handlerID,recID,delFlag 1

5. 循环队列 环形队列使用流程 2

1.3. 加入队列addALL,add 2

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.提升软件稳定性---基于数据库实现的持久化 循环队列 环形队列的更多相关文章

  1. Atitit.升级软件的稳定性---基于数据库实现持久化 循环队列 循环队列

    Atitit.升级软件的稳定性---基于数据库实现持久化  循环队列 环形队列 1. 前言::选型(马) 1 2. 实现java.util.queue接口 1 3. 当前指针的2个实现方式 1 1.1 ...

  2. atitit.提升软件开发的效率and 质量的那些强大概念and方法总结

    atitit.提升软件开发的效率and 质量的那些强大概念and方法总结 1. 主流编程中三个最糟糕的问题 1 1.1. 从理解问题后到实现的时间很长 1 1.2. 理解和维护代码  2 1.3. 学 ...

  3. Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725

    Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓  O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...

  4. atitit.提升软件开发效率大的总结O5

    atitit.提升软件开发效率大的总结O5 #---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建 ...

  5. 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. 减少距 ...

  6. atitit.提升软件开发的生产力关健点-------大型开发工具最关健

    atitit.提升软件开发的生产力关健点-------大型开发工具最关健 1. 可以创作出更好的工具遍历自己 1 2. 大型工具包括哪些方面 2 2.1. ide 2 2.2. dsl 2 2.3.  ...

  7. Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结

    Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结 1. 管道抽象 1 2. 层次结构抽象(json,xml etc) 1 3. 异步抽象promise 1 4. Ide ...

  8. atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表

    atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表 1. 建模在后自动建表 1 1. 传统上,需要首先建表,在业务编码.. 1 2. 模型驱动建表---更多简化法是在建 ...

  9. atitit.提升开发效率---mda 软件开发方式的革命--(2)

    atitit.提升开发效率---mda 软件开发方式的革命--(2) 1. 一个完整的MDA规范包含: 1 2. 一个完整的MDA应用程序包含: 1 3. MDA能够带来的最大的三个好处是什么? 2 ...

随机推荐

  1. UML类图画法及其之间的几种关系

    最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下. 文章目录如下: 类图画法 类之间的几种关系:泛化(Generaliz ...

  2. DevOps的修炼之路!

    作为一名产品经理,首先要知道产品对于所属公司来说意味着什么,要探寻这个问题,我们又得知道和公司息息相关的是什么,在我的理解来看,与公司状况相关的因素有以下这些: 市场份额 平均订单金额 盈利能力 资产 ...

  3. ssh免密码登陆

    Ssh免密码登陆设置 准备工作:1.确保两个主机里没有id_rsa.pub和authorized_keys的文件(这两个文件会影响实验的结果)# find / -name id_rsa.pub可查看是 ...

  4. 扩展Smack Message

    XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性. Smack是一个开源的用 java 写的XMPP(jabber)客户端代码库 因为XMPP是XML,所以进行 ...

  5. oracle备忘

    一.explain plan a)explain plan for select ... select * from table(dbms_xplan.display()); function dis ...

  6. iOS开发之AFNetworking 3.0.4使用-OC

      GET请求 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager GET:URL parameters: ...

  7. ubuntu14安装java8

    http://ubuntuhandbook.org/index.php/2015/01/install-openjdk-8-ubuntu-14-04-12-04-lts/

  8. MapReduce几个简单的例子

    文件合并和去重: 可以把每一行文本作为key,value为随意值. 数字排序: MapReduce过程中就有排序,它是按照key值进行排序的,如果key为封装int的IntWritable类型,那么M ...

  9. 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 ...

  10. POJ3680_Intervals

    给你若干个区间,每个区间有一个权值,你可以选出某些区间,使得在保证没有任何一段的覆盖次数超过k的前提下,总的权值最大. 这个建模真的十分神奇,赞一个. 对于给出的每一个区间,离散化,最终我们可以知道所 ...