赛题介绍

题目:

开发语言:JAVA

相关知识点: JAVA编程, 多线程, IO

测评环境:

8核机器 16G内存

JVM内存2.6G -Xms2560M -Xmx2560M

磁盘速度:50MB/s

以正确性, 运行效率为排名标准

评测网站:

网址 http://39.104.188.36/lanmao/index

要求每个人注册自己的账号,昵称设置为: 第X组_真实姓名(如:第3组_帅培)

赛题背景

见ppt

时间表

即日-5.18 准备阶段

5.18-6.5 正式比赛

6.7日晚上10:00 截止排名

6.8、6.15 最后两次课要求每个小组汇报本组方案

阶段任务

5.24日22:00前 熟悉git和码云网站,阅读demo代码,至少有一次提交记录(成功失败都算),否则会被扣分。成功提交有加分,并要求在下一次课分享自己的方案。鼓励大家5.24前仔细阅读一遍demo,看不懂的地方在下次课上跟助教讨论。

5.31日22:00前 至少有一次成功提交的记录,否则会被扣分。成功提交要求在下一次课上分享自己的方案。鼓励大家努力思考优化方案,有思路可以在下一次课上跟助教讨论。

6.7日22:00前 比赛截止

评分标准:

要求每个组员都有成绩

小组排名按组内最好成绩计算

每个阶段必须执行完对应任务,否则会有相应扣分

最终得分标准=个人得分+小组最好成绩+PPT汇报+阶段任务加分扣分

代码提交方式

通过git提交, 我们在https://gitee.com/托管代码

代码框架:https://gitee.com/chaowwwww/javamq

你需要:

1 注册一个账号, fork这个项目, 作为你的git地址

2 在管理界面-项目成员管理-添加项目成员, 添加一个开发者:chaowwwww

3 在管理界面, 将项目设置为非公开的

然后在评测网站上设置git地址(注意设置的为SSH地址)

然后点"提交评测"来提交

补充资料(git精简教程https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 )

编程目标

你的coding目标是实现以下接口:

Producer的createBytesMessageToTopic(topic, body) 创建一个消息, 指定Topic

Producer的send(message) 发送消息

Producer的flush(), 发送结束时会调用一次

Consumer的attachQueue(queue, topics) 为Queue绑定Topics

Consumer的poll() 拉消息

评测逻辑:

1 git clone下载代码

2 push阶段: 四个线程同时push消息

3 kill程序,清理页面缓存

4 pull阶段: 四个线程同时pull消息

5 以push和pull的总时间作为排名依据

push和pull都有时间限制

代码结构

pku包下面是你要用到的的类:

核心包括: Producer Consume KeyValue ByteMessage MessageHeader

我们的评测程序只需要这5个类就能工作

DefaultKeyValue和DefaultMessage是默认的key-value和message实现, 你完全可以自己自己的版本

pku.demo下面是一个内存实现的消息队列

为了方便大家理解题目, 为大家实现了一个内存存储的消息队列

DemoConsumer: 继承Consumer

DemoProducer: 继承Producer

DemoMessageStore: 消息队列的内存存储实现

DemoTester: 一个测评程序, 里面会开启多个线程进行push与pull, 通过这个类你可以了解到测评程序的运行逻辑

java比赛_javamq相关推荐

  1. Java | 比赛成绩统计

    一.描述 一个评委评分命令行程序,用于某舞蹈大赛选手评分,具备如下功能:         (1)用户能设定评委人数和选手人数:         (2)某选手完成表演后,能输入该选手的姓名,每个评委(评 ...

  2. java比赛题目_【蓝桥杯2016第七届比赛题目】JAVA A组

    1 煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤 ...

  3. 潍坊学院java比赛_潍坊学院在山东省第六届“超星杯”高校教师教学比赛中再获佳绩...

    原标题:潍坊学院在山东省第六届"超星杯"高校教师教学比赛中再获佳绩 5月25日-26日,山东省第六届"超星杯"高校教师教学比赛决赛在山东省外贸职业学院(泰安基地 ...

  4. java 比赛赛程_分治算法兵乓球比赛日程(java)

    分治算法之兵乓球比赛日程 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同.求出子问题的解,就可得到原问题的解.也就是字面上的解释是" ...

  5. 潍坊学院java比赛_打破世界记录!潍坊学院HPL一战惊艳全场

    [IT168 现场报道]又破纪录了!这次还打破了世界纪录! 今天,举世瞩目的ASC17决赛圈比赛进入到第三天.上午8时,随着组委会的一声令下,20支决赛圈的队伍开始向总冠军发起最后的冲刺. 基准测试L ...

  6. java比赛用多重for_关于 Java 中 for的多重循环

    1.i=1,赋值 2.判断 i <= 3(i为1),结果为 true,进入循环体 A:for (int j = 1;j <= i;j++) {System.out.print(" ...

  7. java正则表达式匹配字符串

    今天练习java比赛题时,忘记了java的正则表达式怎么用,特地查了一下.觉得用好正则表达式真的是能有意想不到的效果. Talk is cheap,show you their code //解释内容 ...

  8. 计算机系职教周方案,琼软院软件〔2018〕14 号:关于印发《软件工程系2018年“职业教育 活动周”活动方案》的通知...

    琼软院软件[2018]14号 海南软件职业技术学院软件工程系 关于印发<软件工程系2018年"职业教育 活动周"活动方案>的通知 各位老师: <软件工程系2018 ...

  9. 通过Katas进行Java教程:网球比赛(轻松)

    编程kata是一种练习,可以帮助程序员通过练习和重复练习来磨练自己的技能. 本文是"通过Katas的Java教程"系列的一部分. 文章分为易,中和难. Fizz Buzz(轻松) ...

最新文章

  1. 区区几行Python代码,一分钟搞定一天工作量
  2. App开放接口api安全:Token签名sign的设计与实现
  3. log4j.properties 详解与配置步骤总结
  4. nginx出现404和403错误
  5. Apple 远程推送APNS 服务
  6. 从Eclipse使用team provider上传UI5 application到server的注意事项
  7. Docker小白到实战之容器数据卷,整理的明明白白
  8. Servlet第四篇【request对象常用方法、应用】
  9. Python基础学习笔记之(二)
  10. mybatis log4j2配置
  11. 易学易用的Windows PowerShell(转)
  12. zoj 3690(递推+矩阵优化)
  13. 五种经典网页布局设计
  14. c语言程序设计徐立辉答案,C语言程序设计实验及习题指导
  15. 虚幻引擎(UE4)场景漫游交互项目制作
  16. 在VirtualBox安装Ubuntu虚拟机实现文件夹共享
  17. 愤怒的小鸟AR 版终于正式上架!场景超逼真
  18. java画出马里奥_基于JAVA实现的超级马里奥(Super Mario)游戏
  19. 特斯拉竞争对手Rivian获7亿美元融资 亚马逊领投
  20. PAT考试一些注意事项

热门文章

  1. Python编程基础08:循环结构
  2. android module中获取 app_Android模块化中的服务发现机制
  3. bzoj4515 [Sdoi2016]游戏 标记永久线段树+链剖+差分
  4. 2017.9.1 最小生成树 失败总结
  5. 2017.6.4 problem b 失败总结
  6. 2017.3.25 魔术球问题 思考记录
  7. 【英语学习】【WOTD】animadversion 释义/词源/示例
  8. initPlayer初始化过程(一)
  9. 信息论与编码_庆祝中山大学计算机科学系成立40周年系列活动 | 第四届“信息论与编码中大论坛”...
  10. android xml java混合编程_Android | 自动调整文本大小的 TextViews