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. java queue 队列体系and自定义基于数据库的队列总结o7t

    atitit. java queue 队列体系and自定义基于数据库的队列总结o7t 1. 阻塞队列和非阻塞队列 1 2. java.util.Queue接口, 1 3. ConcurrentLink ...

  3. Atitit.软件仪表盘(4)--db数据库子系统-监测

    Atitit.软件仪表盘(4)--db数据库子系统-监测 连接数::: 死锁表列表:死锁基础列表(最近几条记录,时间,sql等) 3.对服务器进行监控,获取CUP,I/O使用情况   4.对数据库进行 ...

  4. Atitit.互联网 软件编程 数据库方面 架构 大牛 牛人 attilax总结

    Atitit.互联网 软件编程 数据库方面 架构 大牛 牛人 attilax总结 Coolshell 称号.理论与c++ 阮一峰:: 理论高手与js高手 王银:理论高手 赵劼,网名老赵,c#高手 与理 ...

  5. Atitit.软件仪表盘(4)--db数据库子系统-监測

    Atitit.软件仪表盘(4)--db数据库子系统-监測 连接数::: 死锁表列表:死锁基础列表(近期几条记录,时间,sql等) 3.对server进行监控.获取CUP.I/O使用情况   4.对数据 ...

  6. atitit. java queue 队列体系and自己定义基于数据库的队列总结o7t

    atitit. java queue 队列体系and自己定义基于数据库的队列总结o7t 1. 堵塞队列和非堵塞队列 1 2. java.util.Queue接口. 1 3. ConcurrentLin ...

  7. 13-MySQL DBA笔记-迁移、升级、备份、恢复数据库

    第13章 迁移.升级.备份.恢复数据库本章将为读者讲述数据库的各种维护任务:迁移.升级.备份和恢复.因为每个人熟悉的工具不同,其对应的迁移.升级.备份和恢复的方式也都略有不同,本书将尽量对笔者认为最具 ...

  8. Atitit. 高级软件工程师and 普通的区别 高级编程的门槛总结

    Atitit.  高级软件工程师and 普通的区别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握常用的概念(ORM,IOC,AOP,event driv ...

  9. Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结

    Atitit.  高级软件project师and 普通的差别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握经常使用的概念(ORM,IOC.AOP,eve ...

随机推荐

  1. 示例:Netty 处理 TCP数据分包协议

    一个.Netty解决TCP协议的数据分包的想法 我们知道通过TCP协议发送接收数据时,假设数据过大.接收到的数据会是分包的.比方:                                   ...

  2. 移动端 iphone touchmove滑到边界(浏览器地址拦及以上) touchend失效解决办法

    在移动端h5页面:尤其那些全屏幕的盒展示切换页面,当用户无意中将手指滑到了 浏览器地址拦以上(中国移动这快区域):此时,手指已经离开屏幕了,但是ios上无法监听到touchend 事件:touchen ...

  3. CentOS7 安装spark集群

    Spark版本 1.6.0 Scala版本 2.11.7 Zookeeper版本 3.4.7 配置虚拟机 3台虚拟机,sm,sd1,sd2 1. 关闭防火墙 systemctl stop firewa ...

  4. 【SSH之旅】一步学习的步Struts1相框(三):分析控制Struts1示例

    部分博客,,先后实施了Struts抽样.现在我们来分析这个样本.具体解释Struts1. Struts1的几个核心组件是值得我们注意的: (1)ActionServlet(核心控制器). (2)Act ...

  5. Android的相关的源代码的方法

    这里给大家介绍一个非常方便的相关法源代码. 1.打开Android SDK Manager.把你所使用的版本号的API给下载下来,例如以下图所看到的... 2.关联源代码时,将源代码关联到相应API的 ...

  6. Install Typical IIS Workloads

    原文 Install Typical IIS Workloads Introduction The IIS 7.0 and above modular architecture is designed ...

  7. android控制控制的显示顺序

    在android中假设首先在xml中静态加入了一个控件,剩下的控件都是通过addView动态加入.那么假设有控件覆盖的情况(比方说使用FrameLayout或者RelativeLayout),先加入得 ...

  8. POJ 2411 Mondriaan's Dream (dp + 减少国家)

    链接:http://poj.org/problem?id=2411 题意:题目描写叙述:用1*2 的矩形通过组合拼成大矩形.求拼成指定的大矩形有几种拼法. 參考博客:http://blog.csdn. ...

  9. linux 核心学习书籍

    1<LINUX程序设计> 基础是非常重要的 2<UNIX环境高级编程> 还是基础 ,假设你是搞UNIX/Linux环境下的应用程序编程,那么就看 3, <Linux内核设 ...

  10. JavaScript之事件处理详解

    一.事件传播机制 客户端JavaScript程序(就是浏览器啦)采用了异步事件驱动编程模型.当文档.浏览器.元素或与之相关的对象发生某些有趣的事情时,Web浏览器就会产生事件(event).如果Jav ...