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

定时器 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

“云开工”成主流,远程办公需求暴涨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...阅读全文

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

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

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

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

项目经理该如何面对频繁的需求变更?

对于软件研发项目管理,需求变更频繁是一个非常让人头痛也很无奈的问题,小到某个文档标题的改变,大到一个新的产品功能需求的提出…… 一旦需求发生变更,往往容易引起重估、返工,那时就不得不修改设计、重写代码、修改测试用例、调整项目计划等等。 任何需求变更的提出,几乎都会增加整个研发项目成本,如果控制不好,还会导致项目范围蔓延、进度延迟、质量不过关和成本严重超支等诸多问题,甚至因过多的分歧、变更而半途而废。 面对不断的研发项目需求变更,我们应该怎么办? 首先,要认识到一点就是研发项目中的需求是不可能被完全消除和避免的。 我们所能做的,就是找到需求变更产生的原因,针对性采取行之有效的措施,将需求变更给研发项目带来的损失减到最小。 ![image.png](https:/...阅读全文

项目管理最佳实践,企业如何进行有效的项目管理

前言:企业在划分项目时,可按照项目的复杂程度、管理范围等将项目分为三个级别,分别是企业级、部门级和小组级(与目标划分原则相同),然后将每一级的目标与项目对应起来。我们知道,企业制定的目标(OKR),一个目标(O)会有多个关键结果(KR),关键结果是衡量目标完成与否的标准,因此,每个项目的目标对应的应该是目标中的关键结果,当然,目标及关键结果的复杂程度不同,所以一个关键结果可能会对应多个项目。![image.png](https://img-blog.csdnimg.cn/20200107164453295.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNz...阅读全文

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

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

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

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

如何高效的管理技术开发团队

在任何一个项目开发或设计中,项目管理都会被认为是最重要的过程之一,因此,选择一款适宜的项目管理工具尤为重要。 而高效的、良好的项目管理必须具备「快速、强大」且包含以下功能: 1. 需求管理:项目的需求变更,跟踪,控制 2. 资源管理: 项目的可利用的资源(人力,物力,财力) 3. 计划管理: 包括成员管理和权限分配,日程排定,工作时间管理,里程碑设置 4. 进度管理: 日历,工作流,多视图报表等 5. 测试管理: 项目软件缺陷Bug状态跟踪 6. 文档管理: 发布文档文件 存储文件,集成SVN代码管理 7. 信息管理: 活动统计报表,项目报表的导入和导出功能,信息筛选,预警和邮件提示 8. 共享管理:团队新闻,Wiki和论坛等功能 [CORNERSTONE](https://www.corn...阅读全文

博文 2019-09-29 08:40:09 CORNERSTONE

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

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

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

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

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

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

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

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

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

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

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

磁盘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笔录

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

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

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

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

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

企业如何选择合适的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...阅读全文

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

最近,地摊经济一词彻底火了,相关微博话题阅读量超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:/...阅读全文

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 博客园

如何制定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

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

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

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

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

关于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博客

30张图解: TCP 重传、滑动窗口、流量控制、拥塞控制 - 小林coding

前言 前一篇「硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题」得到了很多读者的认可,在此特别感谢你们的认可,大家都暖暖的。 来了,今天又来图解 TCP 了,小林可能会迟到,但不会缺席。 迟到的原因,主要是 TCP 巨复杂,它为了保证可靠性,用了巨多的机制来保证,真是个「伟大」的协议,写着写着发现这水太深了。。。 本文的全部图片都是小林绘画的,非常的辛苦且累,不废话了,直接进入正文,Go! 正文 相信大家都知道 TCP 是一个可靠传输的协议,那它是如何保证可靠的呢? 为了实现可靠性传输,需要考虑很多事情,例如数据的破坏、丢包、重复以及分片顺序混乱等问题。如不能解决这些问题,也就无从谈起可靠传输。 那么,TCP 是通过序列号、确认应答、重发控制、连接管理以及窗口控...阅读全文

博文 2021-08-26 04:09:30 博客园

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

当地时间周五,有着“互联网女皇”之称的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万企业免费开放在家办公系统,腾讯打包...阅读全文

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

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

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

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

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

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

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教程™

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

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

在网上看见有一个笑话是这样的: 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

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

敏捷实践经验分享,企业如何在敏捷开发中实施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

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

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

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

HBase教程™

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

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

编码转换问题_网络_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博客

敏捷开发的那些事

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

博文 2020-03-19 07:11:56 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 廖雪峰的官方网站

Java动态编译执行_zleven的博客

在某些情况下,我们需要动态生成java代码,通过动态编译,然后执行代码。JAVA API提供了相应的工具(JavaCompiler)来实现动态编译。下面我们通过一个简单的例子介绍,如何通过JavaCompiler实现java代码动态编译。 一、获取JavaCompiler JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); 获取JDK提供的java编译器,如果没有提供编译器,则返回null; 二、编译 //获取java文件管理类 StandardJavaFileManager manager = compiler.getStandardFileManager(null, null, null); //获取java文件对象...阅读全文

博文 2021-07-09 03:49:10 CSDN博客_java 编译执行

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 博客园

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

当前,企业面对的商业环境瞬息万变,移动、社交、物联网、云计算、大数据、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

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 删除文件没有释放空间

P2P通信原理与实现

当今互联网到处存在着一些中间件(Middle Boxes),如NAT和防火墙,导致两个(不在同一内网)中的客户端无法直接通信. 这些问题即便是到了IPV6时代也会存在,因为即使不需要NAT,但还有其他中间件如防火墙阻挡了链接的建立. 目前部署的中间件多都是在C/S架构上设计的,其中相对隐匿的客户机主动向周知的服务端(拥有静态IP地址和DNS名称)发起链接请求. 大多数中间件实现了一种非对称的通讯模型,即内网中的主机可以初始化对外的链接,而外网的主机却不能初始化对内网的链接, 除非经过中间件管理员特殊配置. 前言 在中间件为常见的NAPT的情况下(也是本文主要讨论的),内网中的客户端没有单独的公网IP地址, 而是通过NAPT转换,和其他同一内网用户共享一个公网IP. 这种内网主机隐藏在中间件后...阅读全文

博文 2021-10-08 12:31:49 evilpan

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

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

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

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代码