计划是把工作中遇到的一些典型的问题,做个问题总结,之前遇到的,找时间来写。先把今天遇到的一个问题分析下问题场景: 是项目中有一块的程序数据处理变慢了,而且,现象是中午有变慢,下午的时候,就会趋于正常。查看日志也没有发现出现错误。过程分析: 程序流程: 问题分析: 现象是表2的数据插入很慢。 分析问题有两点可能出问题, 一个是在读取q1,做数据封装,数据逻辑处理给变慢了; 另外一个是在做删除表1的时候,删除的慢了; 最后分析的是排除了第一种原因,因为这一步简单,在实际中也就是服务器进行一下交互,服务器和网关都是足够健壮的。 定位在第二种情况,原因是删除表1 和 插入表2是个串行的操作。表1每天中午都会做大量的插入操作,在程序流程处理中也同时在做更新、删除的操作,对表的压力巨大,当删除操作变慢了,同样就影响了对表2的插入,导致插入表2的操作变慢,这样的后果,q2的队列存储容量也长时间处于饱和状态,存入Q2也随之延后,读取Q1,封装数据的逻辑处理也延后了,当然Q1的容量也饱和了,第一步的操作也变慢了。 最终的结果就是整个数据处理都变慢了。 解决办法: a、将表1的删除和表2的插入进行异步操作 b、对表1的不做删除,将表1的删除做记录id的操作,每天晚上定时进行删除。
在新浪微博上面看到,铁道调度系统现BUG,已拘留两无证程序员,很震惊,再怎么着也不能拿我们码农开脱啊!当时也做了评论,尔后,也有些怀疑,太不可思议了,做了下搜索,图是张假图,猜测是经过某位愤怒的码农的PS。这位同仁有些过分了啊!视频原址:http://tv.sohu.com/20110725/n314420232.shtml截图取自视频00:08秒 发现真相原帖地址:http://taizhou.19lou.com/forum-1629-thread-2022831311584000078-1-1.html
本来是打算找一个模板直接使用的,没有找到到合适的,自己写好麻烦的啊!很早就知道960css的这个框架了,趁这个机会学学,找到一篇比较容易入门的基础,推荐阅读。 CSS框架已经出现很长时间了,关于这些框架的用处也被我们讨论了很多遍了。有人说,CSS框架不够先进,还有人说这些框架大大的节省了他们的开发时间。在此,我们将不再讨论这个问题。 前段时间,我了解到了CSS框架。经过对Malo、BluePrint和960做了实验对比后,我得出一个结论:我最喜欢960CSS框架。 本教程将解释这个框架的基本原理,这样你就可以用960来快速进入开发。 基本原理 你必须知道一些基本原理来“学习这个框架是如何工作的”。你可以通过实验(或者是用firebug)来学习它,不过我也将会在这里为你介绍它。让我们开始吧。 不要编辑960.css文件 首先是一个小提示:不要编辑960.css文件,否则,将来你将不能更新这个框架。因为尽管我们需要布局我们的HTML,我们将创建一个独立的CSS文件。 加载网格 因为我们可以使用一个外部文件的CSS代码,我们必须在我们的HTML网站中加载它们,我们可以通过以下代码来实现: <link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/960/reset.css” /> <link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/960/960.css” /> <link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/960/text.css” /> 这些做好了之后,我们必须添加我们自己的CSS文件。例如,你可以叫这个文件为style.css或site.css或者其它任何名字。用下面代码引用这个文件: <link rel=”stylesheet” type=”text/css” media=”all” href=”path/to/style.css” /> 容器 在960框架中,你可以选择名为.container_12和.container_16的两个容器class。他们都是960px的宽度(这就是为什么叫960),它们的不同是分的列数不同。.container_12被分割为12列,.container_16被分割为16列。这些960px宽的容器是水平居中的。 网格/列 有很多列宽可供选择,而且在这两个容器里,这些宽度也不相同。你可以通过打开960.css文件来查看这些宽度。但是这对于设计一个网站来说是不必要的。有一个小技巧可以让这个框架更加易用。 比如,你想要在你的容器里建两列(叫sidebar/content)。你可以这样做: <div class=”container_12″> <div class=”grid_4″>sidebar</div> <div class=”grid_8″>main content</div> </div> 可以看到,你的第一列(grid_4)的数字加上第二列(grid_8)的数字正好是12。也就是说,你不必知道每一列的宽度,你可以选择列宽通过一些简单的数学计算。 如果我们要建一个4列的布局,代码可以是这样的: <div class=”container_12″> <div class=”grid_2″>sidebar</div> <div class=”grid_6″>main content</div> <div class=”grid_2″>photo’s</div> <div class=”grid_2″>advertisement</div> </div> 正如你所看到的那样,这个系统依然很完美。但是如果你想使用嵌套的列的话,你会发现它是有问题的。比如,如果后面三列都属于content列: <div class=”container_12″> <div class=”grid_2″>sidebar</div> <div class=”grid_10″> <div class=”grid_6″>main content</div> <div class=”grid_2″>photo’s</div> <div class=”grid_2″>advertisement</div> </div> </div> 你会发现这错位了,不过不用着急,这正是我们下一节要说的。 间距 默认情况下,每列之间都有间距。每一个grid_(这里代表数字)class左右都有10个像素的间距。也就是说,两列之间,总共有20px的间距。 20px间距对创建一个有足够宽的空白间距的布局来说是很棒的,它可以让一切看起来很自然。这也是我喜欢使用960的原因之一。 在上面的例子中,我们遇到了个问题,现在我们就来解决它。 问题是,每一列都有左右边距。而嵌套的三列中,第一列和最后一列是不需要边距的,解决方法是: <div class=”container_12″> <div class=”grid_2″>sidebar</div> <div class=”grid_10″> <div class=”grid_6 alpha”>main content</div> <div class=”grid_2″>photo’s</div> <div class=”grid_2 omega”>advertisement</div> </div> </div> 我们可以简单的添加”alpha“样式来去掉左边的间距,添加“omega”样式来去除右边的间距。这样我们刚刚创建的这个例子在任何浏览器里面就很完美了(当然包括IE6)。 样式 好了,你现在已经完全了解如果用960框架来创建一个网格布局的基本原理了。当然,我们也可以添加一些样式到我们的布局中。 <div class=”container_12″> <div id=”sidebar” class=”grid_2″>sidebar</div> <div id=”content” class=”grid_10″> <div id=”main_content” class=”grid_6 alpha”>main content</div> <div id=”photo” class=”grid_2″>photo’s</div> <div id=”advertise” class=”grid_2 omega”>advertisement</div> </div> </div> 因为CSS使用特性来确定哪一个样式声明具有高于其它样式的优先级。”id“比class更重要。 用这种方法,我们可以在自己的文件中重写那些被class设定的规则(比如宽度,padding,边框等)。 我也添加一些样式,它们整整花费了我5分钟来整理整个例子。查看示例的源代码和样式声明。. 搞定 就这样。你已经学习了如果使用960框架来建立跨浏览器兼容性和整洁的布局了。当你完全掌握了960框架后,你将大大地减少编写CSS的时间。 如果你还不理解,研究一下示例吧。 我留给你的问题: 你使用960CSS框架吗?或者你使用其它框架?你认为框架可以帮你提升你的代码吗? Translate From: divitodesign 来源:http://www.qianduan.net/960css-the-framework-of-the-basic-principles-of.html
这边文章是别人邮件发我的,对于一个公司来说,少不了有很多问题,没有问题的企业我相信是不存在的,我的经验告诉我,只要和谐就好,这个道理我妈也懂的。 “本位主义”文化、“各自为政”文化、“故步自封”文化、“站队”文化等归结一起,就是圈子文化,几种文化交织在一起,一个小地球也就出现了。 “Yes Sir”文化、“喊口号”文化、“拍马屁”文化、“官僚主义”文化等我不知道国外是怎么样,但我肯定这个是我们的特色,大公司,小公司,哪里都有。 “俄罗斯套娃”文化、“责权利不清”文化这些,我们的人情味太重了。 原文网址第一财经的,邮件里面没有链接的地址,第一财经也打不开,不知道为神马! 华为内耗问题浅析:十大文化成公司绊脚石 http://www.sina.com.cn 2011年03月22日 01:03 第一财经日报 郑爽 一篇网上流传甚广的批判华为文化的文章:《华为,你将被谁抛弃——华为十大内耗问题浅析》出现在华为内部出版物上。且不谈华为文化的是是非非,单是从内部出版物大篇幅全文刊发该文的做法便能够窥见:华为不护短、不掩饰的文化特征鲜明。 华为的反思,也是今天发展到一定规模的中国民营企业们应该共同思考的问题,一个曾经的高效能公司,为何会滋生不健康的文化,以至于拖累公司的竞争力?哪些不健康的文化,是公司变得高效能的绊脚石? “本位主义”文化 高效能公司最为重要的是大家有共同的目标。缺乏共同目标的公司就像一支足球队中,三分之一的人把球门方向搞反了,还有三分之一的人不知道球门在哪里,那么,剩下那三分之一的队员即使再努力,也胜利无望。 我们往往假设一个公司里,所有部门理所当然应该跟着公司的大目标走。其实不然,每个部门由于职能的差异,会有自己的小目标,“本位主义”文化下的企业每个部门只守着自己的一亩三分地,不顾企业大局。 比如,公司的目标是为客户创造最好的服务体验,而电话客服部门的目标可能是每天打出更多的电话以完成指标,并以此考核员工业绩,此时电话客服部门员工会把“最好的客服体验”抛在脑后,每次跟客户通话的时候,只希望时间越短越好。 英国秦业企业管理咨询顾问魏奕对记者表示:“这时候领导者需要保证每个部门和岗位的工作程序、工作职责、考核制度等都符合公司的大目标,并且频繁地、有规律地跟每个部门沟通:公司希望去哪里,以及为什么需要去那里,来保证大家的步伐一致。” “各自为政”文化 部门间合作出现问题时总是彼此互相推卸,盯着别的部门的过错,却忘了自己也是决策或执行团队的一部分。经常在推出新的项目时不与其他相关部门充分沟通而一厢情愿地期望得到别的部门的全力支持。向领导争取资源时毫不顾及企业的能力和对企业总体的影响。总是自己的部门最重要,别的部门只是配角。 这种文化的形成和信息不透明有关,公司需要创建信息共享的环境、表彰奖励积极共享信息的员工。魏奕谈道:“如果一个企业内部,各部门之间没有信息交流的途径,也没有共享信息的文化,容易形成每个部门各自为政,以自己为中心的情况,员工不容易看到其他部门在发生什么,也看不到自己部门对其他部门的价值,对整个公司的贡献是什么。” “故步自封”文化 创新知识型的企业发展到一定阶段,在行业内拥有一定的优势时,故步自封的文化也会悄然滋生。毕竟,创新有一定的风险,即使大量的投入也可能面临失败,当企业发展得越平稳越好时,他们担心失去的东西也会越多,因而觉得维持现状也不错。 而企业一旦缺乏创新机制,对变化持有恐惧心理时,便会以保守的心态被动地应付。它们总觉得现有的商业模式和运营机制还可以继续,就不要去动它。假若企业不懂得未雨绸缪,等到追随者迅速赶上时就会措手不及。 当初,柯达故步自封地认为胶片市场依然会有很多追随者,数码产品有风险,也不会成气候,导致柯达最终亡羊补牢为时晚矣。 “站队”文化 有利益的地方,就会有争斗。拉帮结派似乎是人的本能,从幼儿园时代起,最有威信的“孩子王”屁股后面总是跟了一串懵懵懂懂的小家伙。 而在公司里,站到了不同的队伍,待遇兴许会大相径庭,于是每人进入公司时都忙着观望和分析几位当红之人的前途,希望自己能站对队,靠在大树下好乘凉。但站队的风险也很大,站对了队伍,的确会获得更多的机会和优势;但如果一旦“改朝换代”之时,你想安然无恙几乎是奢望,甚至有可能“卷铺盖走人”。 拉帮结派式的“站队文化”在任何类型的企业都或多或少地存在,在创新知识型的公司也难以避免。这种文化容易导致大家顾及的是自己小团体的利益,而不是公司的利益。争论的总是你对还是我对,而不是寻求真理在哪儿。严重的拉帮结派现象会导致企业内耗过大,影响整体目标的实现。这时就迫切需要完善而透明的监督机制。 “Yes Sir”文化 高效能企业总是特别宣扬和强调“以人为本”、以员工为中心的企业文化。但在实际工作中,有时往往只是把员工当作服从命令的机器人加以管理。 员工只能默默地接受,甚至改变自己的想法去适应上级的指示,而无法以批评的眼光去分析、思考和消化管理层的决策。久而久之,导致的结果就是错误的决策无人指出而得不到纠正。员工们每天关注的也只能是do things right(正确地做事情),而不是 do the right thing(做正确的事情)。 这种文化下的员工感受不到企业对他们的真诚之心和敬畏之心,而这些是作为生产资料的他们理应得到的待遇。在知识经济时代,企业的竞争最终还是人才的竞争,如果员工无法在 岗位上施展自己的才华,无法获得足够的发展空间,那么企业的发展也是有限的,因为他们留不住人才。 企业要做的是真正将员工的发展和企业的发展统一起来,把以人为本的管理战略摆在与经营战略同等重要的位置来实践,这样员工和企业才会有共同成长的一致愿景。 “喊口号”文化 是不是每天有很多的会议却只流于形式,是不是有太多空泛的发言诸如:“今年比去年有显著的增长,明年还望有更大的突破。”却不以事实和数据说话,缺乏分析和依据。这好比只浮在云中望森林,不落到地下看树木。 “口号”文化甚至最终导致企业的核心价值观也只是贴在墙上的文字而已,员工不再自觉地去做对企业发展有利的事,只是应付敷衍了之。一些卓越如通用的企业,都将价值观作为激发员工工作热情和创造力的法宝,是企业核心竞争力的关键。一旦这种支撑企业成功的潜在驱动力量也流于形式后,企业很难获得持续而长期的成功。 归根到底,喊口号之所以滋生是因为缺乏执行和相关指标利益的支撑,缺乏对口号在实践中的有效解读。这非但没能促进企业进步,还浪费人力物力。 “拍马屁”文化 科技创新型的公司很多都带有创业者的痕迹,这些公司的成功大都是个人带动整个公司的成长。一方面,由于一些领导者对自我认知存在偏差,刚性的执行力,喜欢“居高临下“的感觉,导致底下谁也不敢不愿去拆穿和戳破。而自古就有“顺我者昌,逆我者亡”。 另一方面,曾经立下汗马功劳的拓荒者们一直用创业阶段的思想引领企业,无法与时俱进,而为了保护自己的既得利益,老臣们很容易推诿责任,也不惜指鹿为马;底下的人为了继续求得生存,也唯唯诺诺没人敢说真话。 就这样马屁文化在公司蔓延开来。以领导为上,领导说的都是对的,凡是领导支持的,不管三七二十一大家都跟着支持,却殊不知这些都成了阻碍组织健康成长的因素。马屁文化盛行下的组织是脆弱的,因为大家对错误都会睁一只眼闭一只眼,自我免疫机能的正常运作需要征言纳贤,这也是对领导人的一种考量。 “官僚主义”文化 很多销售人员都有这样的经历:在产品销售之后,需要去财务部门开具销售票据并且交款,一件看似很简单的事情,对他们而言意味着遭遇难看的脸色、繁琐的手续和为此耗去漫长的时间。 在特殊的历史文化背景下,中国企业的金字塔结构比发达国家的更为牢固。被杰克·韦尔奇深恶痛绝的“官僚作风”我们不用学习便生而为之。公司发展到一定规模,人员扩张到一定数量时,层级便会越来越多,因而解决一件事情需要牵扯的人也越来越多。层层上报、层层沟通、层层下达命令决策,就这样一个月的时间便晃过去了。 但对创新型公司而言,快速的市场反应能力是关键,这时办事拖沓、呈而不议、议而不决、决而不行的官僚作风便成了管理之痛。它使得信息不能迅速传达,沟通成本增加,导致在市场上的反应慢一拍,而且还瓦解员工的创新意识和主动性。 精简机构就能杜绝官僚作风了吗?中智人力资源管理咨询有限公司产品开发总监周晶认为:“一个企业或组织的文化很大程度上与领导者个人的意识和风格有关系。公司的领导人要打造平等沟通的文化,要有接受批评的胸怀和承认错误的勇气。而且要有公开透明合理的考核体系。” “俄罗斯套娃”文化 这种文化下的企业在招聘人才时主管领导总是怕新来的人比自己强而抢了自己的饭碗。进而有意无意地会找比自己能力差的人。 周晶分析:“尽管创新知识型企业从不掩饰对人才的渴求,但在具体落实上,主管领导在选人和用人的标准上还是不可避免地会与行业标准出现分叉,有时不是考量对方的能力有多强,而是考虑对方会不会很好地听命于自己。” 对显示才能的人才去压抑不让其出头。导致企业聘来的人越来越差,像俄罗斯套娃一个比一个小,结果企业走向平庸和衰落。 “责权利不清”文化 责权利不挂钩也是很多企业普遍存在的问题。一号店董事长于刚谈道:“项目和部门承担责任的人没有实权去调动资源以达到其赋予的目标,或达到其目标后没有合适和清晰的利益让其有成就感,这种责权利的脱节使得责任人巧媳妇难为无米之炊,且没有足够激励让责任人为该事业而全力付出。” 趋利避害几乎是所有生物的本能,在公司里人们喜好权力,争相抢攻,逃避或转移责任也成了自然反应;而有的公司职位级别过多,岗位界定不清,缺乏定期评审和日常监督机制;另外上层领导权力过于集中,导致底层积极性不高,缺乏创新活动。 伴随责权利不清的是公司管理混乱的局面。领导者应更新一把手的观念,适当放权激励积极性,确保组织结构适合企业战略发展需要并趋向扁平化,创造一种公平、和谐和高效的人文环境。 ●1.无比厚重的部门墙 我们很多主管一般都只提倡自己部门内部相互协作,希望协作中能给自己组织带来好绩效,当自己部门要协作外部门时,就开始推三阻四了。 ●2.肛泰式(膏药式)管控体系 年年都有TOP N,年年都持续改进,但问题却从来没见彻底解决过,这些问题也很少见有变化过。神马都是浮云,一切都是假把式。 ●3.不尊重员工的以自我为中心 我们在人才的管理上落后别人一个时代,当大家都在为尊重人、激发人、培养人努力奋斗时,我们还在把员工当敌人看,当机器管。 ●4.“视上为爹”的官僚主义 当所有的利益都来源于上级领导评价的时候,官僚主义是不可避免的,奢望通过什么减少简化来解决问题更是痴人说梦。 ●5.令人作呕的马屁文化 凡是领导说的都是正确的,凡是领导支持的大家都需要支持。无人愿意去忤逆领导的意愿,无人愿意和领导深入讨论问题,上上下下一片祥和之声,敢于直言的更是寥若晨星。 ●6.权利和责任割裂的业务设计 人都是趋利的动物,组织的设计更要十分精细,能深入到人的内心实际需求,而不是按下葫芦飘起瓢的胡乱指挥。 ●7.集权而低效的组织设计 企业大了后很容易带来一个问题就是效率低下,组织复杂,这也被管理界称为大企业病…… ●8.挂在墙上的核心价值观 我们一方面号召大家要实践核心价值观,一方面缺乏有效的动作和价值支撑,最后导致流于形式。 ●9.教条主义 大家觉得只要是进口的就是优秀的,只要是书上的就是可以应用的。这一方面说明大家过分迷信洋人,一方面说明心里没底,或者说对组织什么都不懂,只能生搬硬套。 ●10.夜郎自大的阿Q精神 当我们在快速发展时,很多矛盾都被掩盖了,一旦增速下降甚至减速,矛盾很容易就激化了。 (五斗米/文 原文经编辑与删节)
杂记2011-03-11杂记一下,我没有多么好的文笔,也没有多么高的情商,不想去和人玩那么多的心眼,也不愿意随着大多数人所谓的潮流去追逐,就想简简单单的过着,简单一点的生活,称其为简约的生活。很多人都想的是过这样的生活,这个社会很现实,大家被社会逼的也都很现实,我反正是这样。简约的生活,我是作为一个追求,在一个现实的社会中,尽量的过一些简约的生活。什么的生活是简约的生活,个人滋味,各自品味。只要让自己能感觉到幸福就行!这个让我想到,今年说出来了有多少多少的幸福指数,大家都是心知肚明,何必呢!实实在在的做些实在的,才是正道。或者做些实在的,加加油,添添醋,搞点虚的,我不反对,不要太离谱了。我的观点是,少说点,多做些。我不反对忽悠,只要忽悠的好,我佩服。可悲的有种,说不出来,也做不出来的。感觉我就属于这种的,说,不知道怎么说,做,咋做呢?大家都在问这问题,我就有几个朋友问我,让我给他说说,他该怎么做,这个,鬼才知道。我都不知道我做什么呢!人啊,需要有个规划,前提,是要了解自己。我不了解我自己,我的规划做的不好,很明显不好的一点,不会理财,不会赚钱,也不知道咱们花钱。
我在项目中的笔记3项目中最重要的要明白这个项目的目标是什么,和做任何事情一样,都需要有一个目标,如果没有目标,那真的是什么也不会知道,做任何事情都是盲目的。最近这几天自认为还不错,能把握住事情的进度发展,这块有些收获,整理一下。1、做事的方法基本是按照时间管理提到的,收集、整理、实行、回顾,这个方式不错,值得继续保持。 2、具体做的就是把自己的所以的事情,或者是想到的首先放到收集的栏目里面,如果有重要的事情,就立即做分解,如果没有,就找空来整理分解。现在的事情不是很多,就是很杂,我主要是把当下要做的和临近要作为一类。3、还有一些或许要做的,或者将来要做的,我也会划分出来,不过,这些都不多,我很会抽空将它处理掉,要么删除掉,要么就是作为一个想法保留到其他地方了,如果是固定的,就用google日历了。4、当下要做的和临近要做的,我会选择一些能快速做的,或者重要一些,这些不会很多,处理之后,再移到类似一个正在处理或者进入日程中的栏目。5、我最关注的是待办的和正在处理的,这两个经常是个交替的,有很多的时候,根据情况的变化,变换现在的状态,但最终都要完成的。6、我对完成得事情,是按照工作的分类来区别,这样别于以后可以回顾,查找。
2010年总结二【工作篇】 谈起工作,现在自己的生活就是工作,唯一的生活的就是睡觉,当眼睛睁开的时候,在公司,当眼睛闭着的时候,在床上,用这样形容我的生活,也不为过吧! 我认为工作的基础是生活,当生活不如意的时候,工作是干不好的,我的工作就时常的干不好。也曾经试图将重心转移在工作上面,这样做,也仅仅靠那么今天的激情,当激情用完,停止工作的时候,还是会回到现实的生活中,阻止不了自己继续的堕落。 从一个公司到另外一个公司,自己这一年来,到底是前进了,还是荒废了,懂的东西多了,也忘了不少东西,总想的希望有个希望,能让自己走下去,一个看不到希望的希望,反而让自己倒退了,有时想宁愿放弃这个希望,可人这个不见棺材不掉泪,现在就是没看到棺材。 2009年的工作用天天都是抗战来形容,而2010年的工作平淡无奇,却又忙忙碌碌。
管他的 “管他的”是经理送我的几个字,那天,开完年会,老大发短信,就发了这个字,喝的晕晕沉沉的,也不知道是个啥意思,正不明白着,老大的电话就过来,说是送我的字,希望我能明白,说实话,我到底还是没明白过来,就倒下了。 之后,再想想,我做事很属于那种犹犹豫豫的人,无乱是好事坏事过来,都会想那么多的可能,越想越怕,越想越不想做,用现在的话就称之为“拖拉”。 我这种就是典型的拖拉人,虽然每天很忙,一直是瞎忙,等有时间的,做的最多的就是睡觉,除了睡觉,就是看google的阅读器,google阅读器里面的一些内容,都是翻墙可以看到的,那些消息看的让我对这个社会没有了信心。做的再多,干的再好,又能怎样,还不是没个房子住,没个车子开。 悲愤感慨了一下,这篇是凑个数,弥补好久没有乱侃一下。管他的,这日子还要一天一天的过!
用两种方式实现第一种,使用timertask实现,timertask,可以比较精确的实现定时任务。在这里插一句,java的实时性是很差的,timertask也就是大概的可以实现看代码:Producer.javapackage me.dapeng.timer;import java.util.concurrent.LinkedBlockingQueue;public class Producer extends Thread { private LinkedBlockingQueue queue; public Producer(LinkedBlockingQueue queue) { this.queue = queue; } @Override public void run() { int i = 0; while (true) { queue.offer("string" + i); // System.err.println("[Producer]queue size:" + queue.size()); i++; } }}Consumer.javapackage me.dapeng.timer;import java.text.SimpleDateFormat;import java.util.Date;import java.util.TimerTask;import java.util.concurrent.LinkedBlockingQueue;public class Consumer extends TimerTask { private LinkedBlockingQueue queue; public Consumer(LinkedBlockingQueue queue) { this.queue = queue; } @Override public void run() { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String date = formatter.format(new Date()); int size = queue.size(); try { if (size > 0) {…