java技术圈 为您找到相关结果 240

定时器 OOM(OutOfMemoryError) 了,其他线程受影响吗? – 业余草

你的位置:业余草 > JAVA > 定时器 OOM(OutOfMemoryError) 了,其他线程受影响吗? 定时器 OOM(OutOfMemoryError) 了,其他线程受影响吗? JAVA herman 3年前 (2018-09-22) 3347浏览 0评论 公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:codedq,发送下载链接帮助你免费下载! 本博客日IP超过2000,PV 3000 左右,急需赞助商。 极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:codedq,之前的微信号好友位已满,备注:返现 受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码 所有面试题(java、前端...阅读全文

博文 2021-03-18 06:21:24 www.xttblog.com

一文探讨堆外内存的监控与回收 | 徐靖峰

引子记得那是一个风和日丽的周末,太阳红彤彤,花儿五颜六色,96 年的普哥微信找到我,描述了一个诡异的线上问题:线上程序使用了 NIO FileChannel 的 堆内内存(HeapByteBuffer)作为缓冲区,读写文件,逻辑可以说相当简单,但根据监控,却发现堆外内存(DirectByteBuffer)飙升,导致了 OutOfMemeory 的异常。 由这个线上问题,引出了这篇文章的主题,主要包括:FileChannel 源码分析,堆外内存监控,堆外内存回收。 问题分析 & 源码分析根据异常日志的定位,发现的确使用的是 HeapByteBuffer 来进行读写,但却导致堆外内存飙升,随即翻了 FileChannel 的源码,来一探究竟。 FileChannel 使用的是 IOUtil 进行...阅读全文

博文 2020-04-22 10:55:31 个人博客

为什么大公司一定要使用 DevOps?

究竟什么是DevOps? 要想回答这个问题,首先要明确DevOps这个过程参与的人员是谁,即开发团队和IT运维团队。那么,DevOps的意图是什么呢?即在两个团队之间,建立良好的沟通和协作,更快更可靠的创建高质量软件。 事实上,并不是这两个团队之间的协作帮助交付了更好的软件,而是“开发”和“运维”团队之间的统一导致了软件的改进,并以更快的速度交付。我们不要忘记DevOps工具在实现自动化方面所扮演的角色。 开发和运维“一体”的感觉是由开发人员和操作工程师之间的技能组合和实践的桥接以及自动化(DevOps)工具的实现引起的。世界各地的大型互联网公司都已采用DevOps方法来彻底改进其性能、安全性和团队动态。 在本篇文章中,让我们看看什么是DevOps,以及它为什么如此重要。我们将跟踪DevOp...阅读全文

博文 2019-10-18 08:03:39 CORNERSTONE

Golang - 调度剖析【第二部分】 - Golang 攻略

回顾本系列的第一部分,重点讲述了操作系统调度器的各个方面,这些知识对于理解和分析 Go 调度器的语义是非常重要的。在本文中,我将从语义层面解析 Go 调度器是如何工作的,并重点介绍其高级特性。Go 调度器是一个非常复杂的系统,我们不会过分关注一些细节,而是侧重于剖析它的设计模型和工作方式。我们通过学习它的优点以便够做出更好的工程决策。 开始 当 Go 程序启动时,它会为主机上标识的每个虚拟核心提供一个逻辑处理器(P)。如果处理器每个物理核心可以提供多个硬件线程(超线程),那么每个硬件线程都将作为虚拟核心呈现给 Go 程序。为了更好地理解这一点,下面实验都基于如下配置的 MacBook Pro 的系统。 可以看到它是一个 4 核 8 线程的处理器。这将告诉 Go 程序有 8 个虚拟核心可用于并...阅读全文

博文 2019-06-18 07:15:00 SegmentFault 思否

【协议】MQTT、CoAP、HTTP比较,MQTT协议优缺点_bandaoyu的博客

目录 MQTT、CoAP、HTTP区别 1. 协议栈: 2. 请求方式 3. 通讯消息格式: 4. 使用特点与使用场景 5.客户端平台差异 6.防火墙容错 MQTT、CoAP、HTTP介绍 CoAP协议 简介 CoAP与MQTT的区别: HTTP协议 简介 HTTP与CoAP的区别 MQTT协议 简介 特性 对于传统的HTTP和MQ协议,MQTT的优势在哪里呢? MQTT协议的缺陷以及MQTT+概念的提出 MQTT、CoAP、HTTP区别 从这几个层面进行比较与描述: 1. 协议栈: MQTT: TCP 长链接, CoAP: UDP 低功耗短连接, HTTP: TCP 2. 请求方式 MQTT: 发布订阅, CoAP: request/ response, HTTP: request/ re...阅读全文

博文 2021-08-26 08:46:26 CSDN博客

CORNERSTONE对话腾讯&华为敏捷专家

由[CORNERSTONE](https://www.cornerstone365.cn/)主办的“深圳敏捷狂欢大会”圆满落幕。此次活动集齐了敏捷领域的大咖与近百位敏捷研发爱好者到场,会上大家通过提问互动与敏捷大咖产生了精彩的思想碰撞,大家就敏捷开发如何落地及技术人员如何转型晋升这两个话题做了深度探讨. 以下为敏捷专家薛军和李林在敏捷狂欢大会上的演讲分享 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190912112612848.png) 为什么腾讯产品最好 2017年5月份,网上有一份关于移动APP月活跃度的排名数据,在这份排行榜中,前十四名里,腾讯的产品就占了七款。 这个耀眼的数据足以说明,腾讯的产品是有多受欢迎。 腾讯的产品为什么会那么好呢?其...阅读全文

博文 2019-09-12 10:44:16 CORNERSTONE

三分钟让你学会,如何做好项目质量管理

在企业进行项目化管理过程中,项目目标是每个人的共识,项目进度虽时有延误但相对容易衡量也比较可控,而项目质量则属于非常重要但却最容易被忽视的要素。 导致项目质量被经常性忽视的原因有两点:首先从广义上讲,项目质量不容易辨识;其次,就算知道也很难衡量和控制;而对于我们来说,管理那些不太理解的事情总是很难的。 一、准确识别项目质量 所以,做好项目质量管理的第一步是在一个项目开始前,除了确定项目目标外,还要清楚这个项目的质量是什么,然后再考虑如何保证质量并制定衡量质量的标准。 为什么说要准确识别项目质量呢?在很多情况下,我们自己都不知道这个项目或这项工作的质量是什么,所以,要想管理好质量首先要清楚的知道这个项目的质量是什么。 项目管...阅读全文

“云开工”成主流,远程办公需求暴涨663%

2月26日,随着新冠肺炎疫情的防控进入新阶段,近期全国多个城市开始有组织和计划的启动复工复产,昨日发布的数据显示,根据对240万户使用云平台和电商平台的中小企业监测显示,全国中小企业的复工率在30%左右。 据百度发布大数据显示,目前全国各主要城市线下复工比例均不超过4成,其中沈阳、青岛占比最高,上海、长沙、东莞、宁波、昆明、成都、苏州、天津八个城市名列其后。 ![image.png](https://img-blog.csdnimg.cn/202002271336561.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4u...阅读全文

磁盘IOPS(每秒读写次数)的计算方法与测量_xiaofei0859的专栏

IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。随机读写频繁的应用,如OLTP(Online Transaction Processing),IOPS是关键衡量指标。另一个重要指标是数据吞吐量(Throughput),指单位时间内可以成功传输的数据数量。对于大量顺序读写的应用,如VOD(Video On Demand),则更关注吞吐量指标。 传统磁盘本质上一种机械装置,如FC,SAS,SATA磁盘,转速通常为5400/7200/10K/15K rpm不等。影响磁盘的关键因素是磁盘服务时间,即磁盘...阅读全文

博文 2021-04-08 03:57:45 CSDN博客_硬盘iops计算

解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题

源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的问题。这是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决。 1. 问题原因分析 为了安装最新版本的Node.js(最新版本的Node.js使用了C++ 11中,而C++ 11需要code>gcc 4.8+才能支持),将gcc升级到了当前最新版本v 5.2.0。升级后,成功编译安装了新版本的Node.js(v 4.2.1),但运行时程序时出现了以下错误: node: /usr/lib64/libstdc++.so.6: versi...阅读全文

博文 2020-02-21 13:21:38 IT笔录

Kafka Rebalance机制分析 - gaoyanliang

什么是 Rebalance Rebalance 本质上是一种协议,规定了一个 Consumer Group 下的所有 consumer 如何达成一致,来分配订阅 Topic 的每个分区。 例如:某 Group 下有 20 个 consumer 实例,它订阅了一个具有 100 个 partition 的 Topic 。正常情况下,kafka 会为每个 Consumer 平均的分配 5 个分区。这个分配的过程就是 Rebalance。 触发 Rebalance 的时机 Rebalance 的触发条件有3个。 组成员个数发生变化。例如有新的 consumer 实例加入该消费组或者离开组。 订阅的 Topic 个数发生变化。 订阅 Topic 的分区数发生变化。 Rebalance 发生时,Grou...阅读全文

博文 2019-11-25 06:55:32 博客园

企业数字化转型带来的三大变革

什么是数字化转型的本质?我们认为,数字化转型的本质是,在数据+算法定义的世界中,以数据的自动流动化解复杂系统的不确定性,优化资源配置效率,构建企业新型竞争优势。 无论是社会经济,还是科学技术,都始终处于一个流动的过程之中,由于信息技术和硬件设备的不断成熟,数字化转型是当下经济社会中的一个里程碑事件,也是企业发展的必经之路。数字化转型对于企业来说,不单单是某一次的变革和动作,而是企业的整体框架升级,渗透到企业的生产、决策、经营等各个环节之中。在数字化转型中占据先机的企业,将会在竞争中获得更多的优势。 下面我们就来细数一下,企业数字化转型将会给企业带来的三个变革。 一、决策革命 决策革命简而言之就是基于数据+算法的决策。“数据+算法=服务”实现分四个环节:一是描述,在虚拟...阅读全文

敏捷开发流程,您缺一个这样的协作平台

近年来,在高科技行业,为了响应快速的技术迭代和产品升级,敏捷开发流程正成为越来越多企业的选择。企业希望通过敏捷开发模式,基于自身的线性发展,来获取非线性的创新与竞争优势。 敏捷开发宣言是这样重新定义研发过程: • 个体和交互胜过过程和工具 • 可以工作的软件胜过面面俱到的文档 • 客户合作胜过合同谈判 • 响应变化胜过遵循计划 敏捷开发模式的践行,并非易事。首先是团队观念的转变和组织变革,然后这些还并不足够,在敏捷流程中特别强调沟通的高效,快速而有序。要做到这样,您还需要一个协作平台。 敏捷开发有多种不同的流程变型,但其主体流程,基本都遵循如下几个过程: ![image.png](https://img-blog.csdnimg.cn/2020...阅读全文

如何制定OKR,打造高绩效团队?

避免OKR制定的误区 根据目标达成一致的结果,制定明确、有效的OKR可以推动团队实现伟大目标,并使组织关注最重要的优先事项。写得不好的OKR可能导致策略混乱,破坏内部指标,并导致团队专注于维持现状而非突破现状。 ![image.png](https://img-blog.csdnimg.cn/20191217164400747.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 制定OKR时,尽量避免这些误区: 沟通不畅的OKR延伸目标 设定延伸目标需要在...阅读全文

博文 2019-12-18 09:08:05 CORNERSTONE

DevOps 在企业项目中的实践落地

“我们把DevOps和研发任务协同结合起来,打破了研发团队的最后一道隔阂。” 往往在产品开发过程中,研发人员需要掌控的最多的工具和平台。 代码,环境,部署,容器,服务器一大堆的工具和平台要使用,但是很多平台之间无法互通,导致了工作无法同步,反复的记录报告又增加了工作量。 面对上述问题,[CORNERSTONE](https://www.cornerstone365.cn/)给研发团队提供了最佳的解决方案。 把传统的研发任务管理和DevOps相结合,实现了研发团队的高度配合 ![](https://img-blog.csdnimg.cn/20200403144448964.png?x-oss-process=image/watermark,type_...阅读全文

深入分析 web 请求响应中的编码问题

深入分析 web 请求响应中的编码问题 石 琎2017 年 8 月 09 日发布 乱码问题一直是困扰开发人员的比较头疼的问题,而发生在 web 请求响应中的乱码问题由于牵扯到比较多的协议框架和技术实现,又显得更加棘手。web 请求中的乱码一般容易出现在两个地方:一是所请求的资源名称,二是查询参数;更复杂的是,不同的浏览器对 URL 和查询参数采用的默认编码可能还不一样,这就更加加深了问题的难度。本文将深入浅出地分析 web 请求响应中乱码产生的原因与解决该问题的关键因素,并举例说明给出该问题的最佳解决方案。web 请求响应中乱码产生的原因相关概念URL,URI 及查询字符串URL 是统一资源定位器,是用来引导指向对应的网络资源的,狭义来说查询字符串并不是 URL 的一部分,URL 是由协议、...阅读全文

博文 2020-06-12 08:34:44 www.ibm.com

摆摊吧,后浪!当互联网人都去摆摊……

最近,地摊经济一词彻底火了,相关微博话题阅读量超6亿,多地纷纷设摊贩规范点来鼓励发展地摊经济。 摆地摊,成为了最新风口! 那么互联网人转行后都适合摆什么样的地摊? 让我们一探究竟: 1、程序员 ![image.png](https://img-blog.csdnimg.cn/20200604144504202.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 2、运营 ![image.png](https:/...阅读全文

CPU漏洞之后 Ring 0究竟什么鬼?

最近一段时间CPU漏洞的新闻可谓让人惊诧不已,一个最不可能、最不能被允许的关键设备竟然有硬件漏洞!这几天PC厂商最忙的事情就是推出补丁,用软件方式弥补硬件漏洞的错误。而且,这些措施还会导致CPU性能下降。但是这个漏洞究竟影响什么?你真需要为此而担忧吗? 漏洞是真但不必害怕 漏洞存在这是千真万确的事情,但是你也不需要为此而担心——这个被证实影响了十几年来几乎大部分CPU的硬件缺陷确实存在,只是这个漏洞的技术细节没有(也不可能)公之于众。 事情要从去年说起,谷歌旗下的Project Zero团队发现了一些由CPU“预测执行”(Speculative Execution)引发的芯片级漏洞,“Spectre”(变体1和变体2:CVE-2017-5753和CVE-2017-5715)和“Meltdow...阅读全文

博文 2020-03-20 15:14:34 m.cfan.com.cn

面对疫情,CORNERSTONE免费助力企业远程办公,减少出门就是对社会最大的贡献

对于绝大多数人来说,2020的春节,注定要与自己以往所经历的所有春节,都有所不同!新冠疫情,随着春运的脚步一下就席卷了全国各地。这个春节,相信每一家,每一人都过得很不平静,大家都心系着疫情发展情况。而我此时就是在疫情重灾区书写着这篇文章, 作为大众而言,生活仍在继续,工作也在继续,面对疫情,最好的方式就是不给国家和他人添乱,在家呆着,不出门就是对社会最大的贡献,武汉加油,中国加油! 由于新型冠状病毒的蔓延以及春运返工潮的临近,春节假期也因此而延长,但是,还是有不少人员已提前返岗,他们需要填写,无数张各种各样的表格,面对各种总结与售后工作。而对于上班族来说,假期的延长也未必是好消息,大家仍然有一大堆工作要处理。疫情期间,多家公司已启动在家办公机制,同时,越来越多的人也开始意识到,...阅读全文

Spring AOP基于注解的Around通知

@Around是一种建议类型,可确保方法执行前后的通知可以运行。 以下是@Around通知的语法: 语法 @Pointcut("execution(* com.yiibai.Student.getAge(..))") private void selectGetName(){} @Around("selectGetAge()") public void aroundAdvice(ProceedingJoinPoint proceedingJoinPoint){ System.out.println("[aroundAdvice] Around advice"); Object[] args=jp.getArgs(); if(args.length>0){ System.out.print("...阅读全文

博文 2020-04-23 06:23:23 Spring AOP教程™

企业如何选择合适的SaaS软件?

随着新一轮SaaS风潮的到来,企业对SaaS软件的接受度不断提高。 根据国际咨询公司Gartner的研究报告显示,2020年有36%的企业将使用云技术来支持超过企业一半的交易。 你是否正在考虑将企业业务迁移到云端,是否正在为寻找合适的SaaS软件而烦恼? 接下来,与CORNERSTONE一起探讨企业该如何选择合适的SaaS软件。 一、什么是SaaS? ![image.png](https://img-blog.csdnimg.cn/20200703144121174.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3...阅读全文

互联网女皇疫情报告,数字化企业将在今后竞争中获得优势

当地时间周五,有着“互联网女皇”之称的Bond Capital合伙人Mary Meeker发布了最新一期的《互联网趋势报告》,指出新冠疫情的迅速传播与1906年的加州大地震有着类似的影响。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200423142230754.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) Mary Meeker在报告中指出,Covid-19正在以我们刚刚开始了解的方式改变现代...阅读全文

当了项目经理,你才知道的10件事!

项目经理是个"坑",谁当谁知道啊,可是没当过项目经理的你们,永远也不知道"坑"在哪里。 1、当了项目经理,你才知道,还是做技术的时候最简单。 因为技术的不确定性最小,业务和管理的不确定性太多,不确定性就意味着复杂,需要更多的判断、选择和运气。业务和管理要不断和人打交道,而人无疑是最复杂的。 2、当了项目经理,你才知道,千万不要凭经验执行你不擅长的领域。 专业领域有专业的人员去做,你的职责是给他们协调资源、提供良好的工作环境、把控最终结果,中间过程应该给予足够的信任。要知道,你只是个项目经理,不是那个可以指点别人的技术大牛。 3、当了项目经理,你才知道,甲方的需求永远是对的。 即使甲方的要求是不合理的,那也不能直接拒绝。你要以理服人(虽然大部分情况下没啥用)...阅读全文

「疫情」之下,2020或为中国远程办公“元年”

2020年注定是不平凡的一年,突出其来的新型肺炎疫情牵动着所有人的心,除了关注疫情、做好防控之外,还有一个值得关注的问题,节后怎么上班?如何能保持高效的工作状态,如何确保沟通无障碍? 为了遏制疫情蔓延,做好防控工作,在1月26日发出了通知,延长2020年春节假期至2月2日,多地政府也发出延时开工通知,鼓励企业人员在家办公。特殊时期,远程办公便成了个人和企业当下的必要之选。很多缺乏线上办公经验的企业,开始咨询各种远程办公的产品和服务。据悉,1月25日,华为云旗下的WeLink宣布免费后,当天就新增了5000家企业/单位用户。 各大企业也争相免费开放资源,帮助企业“战疫”:CORNERSTONE面向所有企业免费开放了为期一年的SaaS版免费账号,钉钉向1000万企业免费开放在家办公系统,腾讯打包...阅读全文

如何有效进行项目集管理?

随着企业的扩张,业务往来日益增多,企业同时开展多个项目是不可避免的,如何有效进行多项目管理,是许多企业急需解决的问题。 这一趋势导致多项目管理角色的兴起。它与项目高效和谐地配合,为企业的快速发展提供了动力。 如今,大多数企业参与到多项目管理中,但他们仍然在寻找应对这种环境复杂性的最佳工具。 有趣的是,许多人依然觉得难以区分多项目管理和项目组合管理,导致难以“对症下药”。 接下来CORNERSTONE将教大家如何区分。 一、多项目管理 多项目管理最基本的定义指针对组织中进行的多个项目进行全生命周期的管理。 在多个项目同时进行中,管理人员必须在资源池共享的情况下,顺利完成期限不同、规模不同的项目。 因为多项目这个概念提出来的时间不长,这也是如今企业没有足够的策略、技术和工具来管理多项目的原因。 ...阅读全文

博文 2020-07-15 07:08:23 CORNERSTONE

Mybatis处理动态占位符实现 - Griez

背景 最近做一个打招呼需求,打招呼的内容类似模板形式,但是模板中有动态占位符,比如: 老乡式打招呼 -> “你好,我也是 xxx 的,我们是老乡呀!”(老乡见老乡,少来这套,来了就是深圳人) 高学历牛逼式打招呼 -> “你好,我是 xxx 高材生,很高兴认识你!” (我心想,谁TM稀罕) 炫富式打招呼 -> “你好,我年薪 xxx,能和你交个朋友么?”(你是想做py交易吧) 模板就是这么简单,内容中的 xxx 是动态的,根据用户信息改变。看到这里的你是不是已经开始躁动了, String.replace()不就解决问题了么?是的,如果你是这么做的,那么恭喜你能快速完成任务! 我这人想的比较多,如果PM后面要把模板改成一个文案中有多个 xxx ,并且多个 xxx 位置顺序不确定的情况怎么办?想到...阅读全文

博文 2021-02-08 06:42:14 博客园

DevOps落地实践,BAT系列,敏捷看板

DevOps落地实践,BAT系列,敏捷看板 21/100 发布文章 qq_41137493 DevOps 自 2009 年诞生以来,至今整整过去了十年,从最初的摸索,逐步变成一种主流的软件开发交付模式。BAT在2014年左右,甚至更早的时候,内部的DevOps系统就已经差不多成型了,比如腾讯的织云、蓝鲸,阿里的AOne,百度的效率云等。在DevOps的研发过程中,好的看板功能有助于优化项目管理、提升开发效率,是较重要的功能之一。本文从需求分析角度入手,分析DevOps产品对看板的需求,并结合[CORNERSTONE](https://www.cornerstone365.cn/)一站式云端DevOps平台看板部分的实际开发经验和用户反馈向大家介绍DevOps看板的设计实践之路。 一.DevO...阅读全文

博文 2019-10-16 09:59:38 CORNERSTONE

MGW——美团点评高性能四层负载均衡

本文整理自美团点评技术沙龙第14期:美团背后的故事-你不知道的美团云。美团点评技术沙龙由美团点评技术团队主办,每月一期。每期沙龙邀请美团点评及其他互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。目前沙龙会分别在北京、上海和厦门等地举行,要参加下一次最新沙龙活动?赶快关注微信公众号“美团点评技术团队”。本期沙龙包括三场讲座:美团云Docker平台、美团云对象存储系统、美团四层负载均衡网关MGW。其他几场讲座的图文实录会陆续发表,请继续关注。在高速发展的移动互联网时代,负载均衡有着举足轻重的地位,它是应用流量的入口,对应用的可靠性和性能起着决定性的作用,因此负载均衡需要满足高性能、高可靠两个特点。MGW是美团点评自研的一款四层负载均衡,主要用于替代原有环境的四层负载均衡LVS,目...阅读全文

博文 2021-09-08 03:33:51 美团技术团队

一个关于项目管理者与程序猿之间的笑话

在网上看见有一个笑话是这样的: 1. 程序员写出自认为没有Bug的代码。 2. 软件测试,发现了20个Bug。 3. 程序员修改了10个Bug,并告诉测试组另外10个不是Bug。 4. 测试组发现其中5个改动根本无法工作,同时又发现了15个新Bug。 5. 重复3次步骤3和步骤4。 6. 鉴于市场方面的压力,为了配合当初制定的过分乐观的发布时间表,产品终于上市了。 7. 用户发现了137个新Bug。 8. 已经领了项目奖金的程序员不知跑到哪里去了。 9. 新组建的项目组修正了差不多全部137个Bug,但又发现了456个新Bug。 10. 最初那个程序员从斐济给饱受拖欠工资之苦的测试组寄来了一张明信片。整个测试组集体辞职。 11. 公司被竞争对手恶意收购。收购时,软件的最终版本包含783个Bu...阅读全文

博文 2020-04-17 07:06:42 CORNERSTONE

腾讯、阿里、百度的项目管理能力为什么这么强?

![image.png](https://img-blog.csdnimg.cn/20200424144642655.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 腾讯做产品厉害,这个众人皆知。他们不仅打造了QQ和微信这样的国民产品,还形成了自己的产品方法和文化。 阿里最早的“中供铁军”名声远扬,他们的推广销售和业务拓展能力也形成了一种阿里文化。 百度一直以技术自居,从传统的核心搜索技术到目前押宝人工智能,在技术路线上百度一直有自己的追求。 腾讯的产...阅读全文

博文 2020-04-24 08:14:33 CORNERSTONE

关于mysql中的int(N)、char(N)和varchar(N)类型的简单说明_ivnetware的博客

在使用mysql时,int、char和varcahr这几种类型是比较常用的。在大学时有学过数据库,对于int(N)、char(N)和varchar(N)中的N一直了解的不是较透彻,前段时间在网上查了很多资料,现在整理下。 1、int(N) int(N) ,N 表示最大显示宽度(字段设置zerofill属性时可查看区别),不指定N时,默认为11。N 的值跟 int(N) 所占多少存储空间或最大能存储多大长度数据并无任何关系。也就是说 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。 1)创建测试表tb1,字段id1显示宽度为3,id2的显示宽度为5 mysql> create table tb1 (id1 int(3),id2 int(5)); Quer...阅读全文

博文 2020-11-11 10:36:18 CSDN博客

敏捷实践经验分享,企业如何在敏捷开发中实施DoD

一、什么是DoD? 当你有两个或更多的人参与同一个事情的时候,我们的“团队”就产生了,这时我们最重要的事情,就是要设定和统一团队的期望值,在本文中,这就是“完成标准”。 一个迭代做完后,团队要进行验收,来决定本个迭代是否完成。但每个团队对于是否完成无法达成统一,有的认为编码完成,就表示任务完成了;有的认为还需要简单自测一下,确保功能可以正常使用;还有的认为需要把自动化用例写完并测试通过才算完成。 为了避免这个问题,在敏捷软件开发中,常用Definition of Done“完成的定义”来表示工作是否已完成,不同的活动有不同的完成定义。首先要知道,所有的DoD都不是一成不变的,在随着时间的推移、经验的积累、成员的变更、项目的变更,我们的DoD也会有很大的不同,所以,我们也需要定期地检查和改进。...阅读全文

博文 2020-01-10 06:18:38 CORNERSTONE

Scrum与OKR融合实践经验分享

很多软件公司的研发团队都喜欢用Scrum管理研发流程,Scrum是一个诞生于20世纪90年代的敏捷方法论,CORNERSTONE内部也一直在使用这一方法。 相较于瀑布式开发的其他传统方法,Scrum最大的优点是关注持续快速迭代以及对变化的适应性。如果使用瀑布式开发,在项目一开始就要确定项目结果,并且要对此达成一致,通常还要有详细的计划和项目规范。项目计划是从这些规范中产生的,通过以项目在未来的完成情况为出发点,向后推进,以线形的方式规划出时间、预算和各阶段的联系性。 瀑布式开发的成品是一份路线图,能推算出一款软件到推出之日为止,需要完成的所有开发工作,而不足之处就是如果在软件开发过程中出现了变动,包括时间线或各阶段连接时出现问题,甚至在很多时候连预算都需要完全重做,实际上这就破坏了计划。 S...阅读全文

博文 2019-12-30 08:59:15 CORNERSTONE

Linux Kernel 4.9 中的 BBR 算法与之前的 TCP 拥塞控制相比有什么优势?

登录一下,更多精彩内容等你发现贡献精彩回答,参与评论互动登录查看全部 25 个回答学徒programmer70 人赞同了该回答在探讨这个问题之前,关于网络中的Bufferbloat问题需要了解,详细信息在这里(https://www.bufferbloat.net/projects/bloat/wiki/Introduction/),@李博杰 的回答也说得比较清楚了。在这里做一些补充吧。流量控制分为两部分:* 接收方的流量控制(即滑动窗口)-- 由接收方告知,只关注自身缓存情况,不关注网络,这里不讨论。* 发送方的流量控制(即拥塞控制)现在广泛使用的CUBIC/(new)Reno都是基于丢包的,在算法上重点输出拥塞窗口(cwnd);而BBR输出cwnd和pacing_rate,且pacing...阅读全文

博文 2020-09-06 14:37:35 知乎

Spring AOP中JDK和CGLib动态代理哪个更快?

一、背景 昨天一位知识星球的小伙伴面试的时候被问到:Spring AOP中JDK和CGLib动态代理哪个效率更高?在知识星球整理了一下,今天特分享出来,供大家参考!对知识星球有兴趣的可以了解一下: 二、基本概念 首先,我们知道Spring AOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式。 自Java 1.3以后,Java提供了动态代理技术,允许开发者在运行期创建接口的代理实例,后来这项技术被用到了Spring的很多地方。 JDK动态代理主要涉及java.lang.reflect包下边的两个类:Proxy和InvocationHandler。其中,InvocationHandler是一个接口,可以通过实现该接口定义横切逻辑,并通过反射机制调用目标类的代码,动态地将横...阅读全文

博文 2021-06-12 14:41:44 juejin.cn

Spring 异步任务的创建、自定义配置和原理

1 Spring 版本 5.1.4.RELEASE 2 基本使用 2.1 开启对异步任务的支持 @EnableAsync和@Configuration类一起使用,如下所示,为整个Spring应用程序上下文启用注释驱动的异步处理 @Configuration @EnableAsync public class AppConfig { } 复制代码2.2 编写异步任务 @Component public class EmailService { @Async //无返回类型 public void send(String from, String to, String subject, String text) { //do send } @Async //有返回类型 public Future...阅读全文

博文 2020-11-03 03:55:34 juejin.im

HBase教程™

自1970年以来,关系数据库用于数据存储和维护有关问题的解决方案。大数据的出现后,好多公司实现处理大数据并从中受益,并开始选择像 Hadoop 的解决方案。 Hadoop使用分布式文件系统,用于存储大数据,并使用MapReduce来处理。Hadoop擅长于存储各种格式的庞大的数据,任意的格式甚至非结构化的处理。 Hadoop的限制 Hadoop只能执行批量处理,并且只以顺序方式访问数据。这意味着必须搜索整个数据集,即使是最简单的搜索工作。 当处理结果在另一个庞大的数据集,也是按顺序处理一个巨大的数据集。在这一点上,一个新的解决方案,需要访问数据中的任何点(随机访问)单元。 Hadoop随机存取数据库 应用程序,如HBase, Cassandra, couchDB, Dynamo 和 Mong...阅读全文

博文 2020-05-15 08:17:49 www.yiibai.com

华为敏捷项目管理实践分享

当前,企业面对的商业环境瞬息万变,移动、社交、物联网、云计算、大数据、AI等蓬勃发展。新技术突飞猛进的同时,新业务形态越来越复杂、需求变化越来越快、软件规模越来越大、交付周期越来越短、开发和维护成本越来越高,产品交付的风险急剧增加,传统研发模式无法适应快速变化的市场需求。 为了应对这些挑战,业界软件开发模式经历了持续的改进和变迁,从20世纪60年代作坊式开发,到80年代过程控制模型,到2001年敏捷、DevOps模式探索。 ![image.png](https://img-blog.csdnimg.cn/20200426140606397.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR...阅读全文

博文 2020-04-26 06:47:06 CORNERSTONE

敏捷开发的那些事

“敏捷”这个词近几年非常火,经常会有人问:“我们应该怎样开始做敏捷?”或者:“能不能来帮我们推一下敏捷?敏捷有很多实践,管理的、工程的都有,但敏捷绝非我们看到的站会、持续集成、TDD等那么简单,真正的敏捷体系是从理念到文化的一次变革。 敏捷作为一种快速应对需求变化的新兴软件开发模式,正受到越来越广泛的关注和应用。它强调快速验证,表现为快速上线、快速根据反馈迭代产品。 今天在这里给大家推荐一款敏捷项目管理平台—CORNERSTONE,那么,究竟是什么样的呢?让我们一起来体验吧~ CORNERSTONE 敏捷项目管理解决方案特点为全角色、全流程、支持中大型团队: 提供包含项目管理、产品、运营、研发、测试等各职能角色在内的完整解决方案。 为需求管理、迭代规划、进度跟踪等经典 Scrum 环节提供工...阅读全文

博文 2020-03-19 07:11:56 CORNERSTONE

编码转换问题_网络_qq_38409944的博客

注意:iso-8859-1是JAVA网络传输使用的标准字符集,而gb2312是 标准中文字符集,当你作出提交表单等需要网络传输的操作的时候, 就需要把 iso-8859-1转换为gb2312字符集显示,否则如果 按浏览器的gb2312格式来解释iso-8859-1字符集的话, 由于2者不兼容, 所以会 是乱码. UTF-8三个字节代表一个char iso-8859-1一个字节代表一个char GBK两个字节代表一个char 一直以为,java中任意unicode字符串,可以使用任意字符集转为byte[]再转回来,只要不抛出异常就不会丢失数据,事实证明这是错的。 经过这个实例,也明白了为什么 getBytes()需要捕获异常,虽然有时候它也没有捕获到异常。 言归正传,先看一个实例。 用ISO-...阅读全文

博文 2020-04-26 03:55:23 CSDN博客

你分得清楚Maven的聚合和继承吗? - 陈树义

用了 Maven 好几年了,许多人还是只懂得简单的依赖坐标。对于 Maven 的聚合和继承还是一知半解,甚至很多人以为是同一个东西。但其实聚合是用于快速构建项目,是表示项目与子项目之间的关系。而继承则是为消除重复的配置。下面通过一个例子深入聊聊这两者的关系。 聚合 Maven 的聚合其实就是项目与子项目的表示,其存在的意义在于快速构建项目。例如我们有一个淘宝商城项目,这个项目有账号子项目和邮件子项目。在这个时候我们需要在 Maven 中表达这种项目归属关系,那么我们就可以用 Maven 的聚合来进行配置。 我们首先创建一个 taobao-aggregator 项目,表示是一个聚合项目。之后再创建两个子项目,分别为:com.chenshuyi.mail 和 com.chenshuyi.acco...阅读全文

博文 2020-05-22 12:45:31 博客园

linux删除文件后没有释放空间_冰刀(skate)

author:skatetime:2009/12/09 linux删除文件后没有释放空间 今天发现一台服务器的home空间满了,于是要清空无用的文件,当我删除文件后,发现可用空间没有变化 os:centos4.7 现象: 发现当前磁盘空间使用情况: [root@ticketb ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda1 981M 203M 729M 22% /none 16G 0 16G 0% /dev/shm/dev/sda9 2.9G 37M 2.7G 2% /tmp/dev/sda7 4.9G 1.9G 2.7G 42% /usr/dev/sda8 2.9G 145M 2.6G 6% /var/dev/map...阅读全文

博文 2021-01-28 12:07:43 CSDN博客_linux 删除文件没有释放空间

学了很多项目管理工具和方法,为何还是难以成功?

83版《西游记》里有一个桥段:金角大王拿着宝葫芦对孙悟空说:“我叫你名字,你敢答应吗?”孙悟空不知情,回了句:”爷爷在此“。然后就被吸到宝葫芦里去了,金角大王成功拿到一血。这个桥段相信大家已经看过无数遍了。有一次我在讲课讲到某工具时,不知怎的就想起了它,于是现场做了个测试:我把手里的话筒比作宝葫芦,找前排的某帅哥问:“我叫你名字你敢答应吗?”对方答:“不敢”。在全场的哄笑声中,我想我已经清楚地将想表达的东西给表达了出来。需要声明的是:对方不是事先预定的群演。只不过,倘若将对方的反应放在《西游记》电视剧拍摄项目的现场,导演组大概会有点崩溃:”这个戏真没法拍下去了,我亮出法宝,喊出口诀,他应该表现的很惊恐啊,亦或是无所谓的样子,接着不小心答应一声,被吸入到宝葫芦里去,他怎么能不按剧本出牌呢?”可...阅读全文

博文 2020-04-29 07:24:22 CORNERSTONE

集成JMX

在Spring中,可以方便地集成JMX。 那么第一个问题来了:什么是JMX? JMX是Java Management Extensions,它是一个Java平台的管理和监控接口。为什么要搞JMX呢?因为在所有的应用程序中,对运行中的程序进行监控都是非常重要的,Java应用程序也不例外。我们肯定希望知道Java应用程序当前的状态,例如,占用了多少内存,分配了多少内存,当前有多少活动线程,有多少休眠线程等等。如何获取这些信息呢? 为了标准化管理和监控,Java平台使用JMX作为管理和监控的标准接口,任何程序,只要按JMX规范访问这个接口,就可以获取所有管理与监控信息。 实际上,常用的运维监控如Zabbix、Nagios等工具对JVM本身的监控都是通过JMX获取的信息。 因为JMX是一个标准接口,...阅读全文

博文 2021-11-18 07:17:50 廖雪峰的官方网站

Intellij-Idea远程调试

前言 线上(真-线上/测试环境)代码出了问题,总是要在本地复现,然后debug,这个过程是在是不太友好,而且线上的很多数据本地没有,经常耽误好久的时间来同步数据. 前文介绍过一种在运行时DEBUG及修改Java代码的方式,阿里开源java动态追踪工具 Arthas的使用.其主要针对的是线上修改代码及JVM实时查看. 但是有很多问题,我们更想要IDE的DEBUG功能,比如线上跑了NPE,本地没有办法复现因为可能是线上的数据问题,这时候就会想,如果可以在线上这里打个断点,就知道是谁为空了. 幸好Java是有远程DEBUG的支持的,而且Intellij-IDEA也实现了相关的功能,今天学习并且记录一下. 启动参数 首先在服务端使用JVM的-Xdebug参数启动Jar包. java -Xdebug ...阅读全文

博文 2021-01-26 02:49:11 Java代码

PM必须懂的4种项目管理模型

瀑布模型、迭代模型、增量模型、原型模型,是项目管理常见的四种模型。每种模型都有其优缺点和适用的项目类型。项目经理针对不同的项目用对模型,才能起到事半功倍的作用。 一、瀑布模型 用瀑布模型做项目就像古代匠雕刻玉石,先有完整的设计图,然后按部就班往前推进,中间不能出一点差错,追求的是“一次成型”。 这就是瀑布模型,最基本也最常用的一种项目管理模型,又称线性模型。 采用瀑布模型的项目依照该模型选定的阶段顺序进行,每一个阶段的工作产品都是下一个阶段工作的输入,每一个阶段只有在上一个阶段通过检查,确认完成后才开始新的阶段工作。 ![image.png](https://img-blog.csdnimg.cn/20200506142607355.png?x-oss-process=image/water...阅读全文

博文 2020-05-06 07:58:52 CORNERSTONE

xinit启动X Window System过程_xb_0916的专栏

此文完全来自http://www.52z.com/info/html/26120.html,我没有进行任何修改!现对作者表示深切谢意! 启动X主要有两种方法:一是Display Manager,如XDM、GDM、KDM,此种方法通过图形界面登录;另一种是通过xinit,此种方法适用于字符界面登录。我们常用于登录X的startx命令也是通过传递参数给xinit来启动X的,也就是说,最终启动X的是xinit。startx只是一个bash脚本。下面主要分析xinit一下初始化X的过程: 首先来看一看xinit命令的用法: xinit [[client] options ] [-- [server] [display] options] 可以看出,xinit初始化X是通过两个层面来进行的,即X cl...阅读全文

博文 2020-07-13 02:30:09 CSDN博客_xinit xinitx

MySQL中IN子查询会导致无法使用索引 - MSSQL123

今天看到一个博客园的一篇关于MySQL的IN子查询优化的案例,一开始感觉有点半信半疑(如果是换做在SQL Server中,这种情况是绝对不可能的,后面会做一个简单的测试。)随后动手按照他说的做了一个表来测试验证,发现MySQL的IN子查询做的不好,确实会导致无法使用索引的情况(IN子查询无法使用所以,场景是MySQL,截止的版本是5.7.18) MySQL的测试环境 测试表如下 create table test_table2 ( id int auto_increment primary key, pay_id int, pay_time datetime, other_col varchar(100) ) 建一个存储过程插入测试数据,测试数据的特点是pay_id可重复,这里在存储过程处理...阅读全文

博文 2021-02-24 06:23:47 博客园

Windows线程管理和调度机制概述_m_buddy的博客

1. 线程管理 (1)线程,有时被称为轻量级进程,是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针,寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。 (2)进程(Process)定义了一个执行环境,包括它自己私有的地址空间、一个句柄表,以及一个安全环境;线程(thread)则是一个控制流,有自己的调用栈(call stack),记录了执行的历史。每个进程都包含一个或多个线程,当进程被初始化创建时系统为该进程创建第一个线程;当最后一个线程结束时,进程也随之结束。 说道这里就需要说到线程的工作模式: 进程中的线程既可以在用户模式下运...阅读全文

博文 2020-07-14 02:25:32 CSDN博客_windows线程调度