软中断会吃掉你多少CPU?

前面的几篇文章里讨论过了进程上下文切换和系统调用对系统性能的影响,我们今天再来看另外一个CPU吃货,那就是软中断。你在用vmstat或者其他一些工具查看系统CPU消耗的时候,发现有两列是单独列出来的,分别是是hi和si。他们分别是硬中断和软中断。既然vmstat把中断的开销单独列出来了,就说明一个问题,中断吃起CPU来那也是丝毫不含糊。我们没必要啃明白软中断的所有原理,但从一名追求性能的开发者的角度来看,我们有必要了解以下问题:一次软中断的开销到底多大?你的服务器上被软中断吃掉了多少CPU时间?...阅读全文

知乎 2019-08-30 00:00 知乎

为什么必须是final的呢?

一个谜团 如果你用过类似guava这种“伪函数式编程”风格的library的话,那下面这种风格的代码对你来说应该不陌生: 1 2 3 4 5 6 7 8 9 public void tryUsingGuava() { final int expectedLength = 4; Iterables.filter(Lists.newArrayList("123", "1234"), new Predicate<String>() { @Override public boolean apply(St...阅读全文

崔鹏飞的Octopress Blog 2019-10-20 22:18 崔鹏飞的Octopress B 等

手动编译并运行Java项目的过程 - 小得盈满

现在Java开发基本上就是IDE调试,如果跨平台打个jar包过去运行一般就可以了,但是有些情况比如需要引入外部依赖的时候,这个时候是不能直接运行的,还需要引入一些外部的参数,并不是简单的javac和java的关系了,下面来详细说一下   一般情况下,在本地都是使用eclipse开发工具进行开发,很多东西基本上就不用我们考虑了,如果我们要将项目放到Linux下运行的话,那么就需要进行转移的操作,当然有Maven、Ant这样的自动化部署工具,简直是太方便了,为了做到更进一步认识的话,我们纯手动的去打...阅读全文

博客园 2016-03-07 17:53 博客园

spring boot中,jar包、war包的区别 - cag2050

jar包、war包 比较(表格) 项目 jar包 war包 在开发调试完成之后,可以将应用打成JAR包的形式,可以直接使用Maven插件的package命令,最终会形成一个可运行的 JAR包。我们使用java –jar命令就可以运行这个JAR包了。 JAR包解压后的目录结构: 这个JAR包与传统JAR包的不同之处在于里面有一个名为lib的目录,在这个目录中包含了这个简单应用所依赖的其他JAR包,其中也包含内置的嵌 入式Tomcat,正是使用它,才能发布服务和访问Web资源。除了我们编写的源码所编...阅读全文

博客园 2017-11-14 17:09 博客园

使用Maven构建Web项目的目录结构 - xiaotou745

1.Web项目的目录结构     基于Java的Web项目,标准的打包方式是WAR。与JAR比较,包含更多的内容,比如JSP文件、Servlet、Java类、web.xml配置文件、依赖JAR包、静态web资源(HTML、CSS、JavaScript)等。 一个典型的WAR文件如下目录结构: File-system代码 —war/      + META-INF/      + WEB-INF/      |  + classes/      |  |  + ServletA.class    ...阅读全文

博客园 2014-11-24 17:35 博客园

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

究竟什么是DevOps? 要想回答这个问题,首先要明确DevOps这个过程参与的人员是谁,即开发团队和IT运维团队。那么,DevOps的意图是什么呢?即在两个团队之间,建立良好的沟通和协作,更快更可靠的创建高质量软件。 事实上,并不是这两个团队之间的协作帮助交付了更好的软件,而是“开发”和“运维”团队之间的统一导致了软件的改进,并以更快的速度交付。我们不要忘记DevOps工具在实现自动化方面所扮演的角色。 开发和运维“一体”的感觉是由开发人员和操作工程师之间的技能组合...阅读全文

技术圈 2019-10-18 16:03:38 CORNERSTONE

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

DevOps落地实践,BAT系列,敏捷看板 21/100 发布文章 qq_41137493 DevOps 自 2009 年诞生以来,至今整整过去了十年,从最初的摸索,逐步变成一种主流的软件开发交付模式。BAT在2014年左右,甚至更早的时候,内部的DevOps系统就已经差不多成型了,比如腾讯的织云、蓝鲸,阿里的AOne,百度的效率云等。在DevOps的研发过程中,好的看板功能有助于优化项目管理、提升开发效率,是较重要的功能之一。本文从需求分析角度入手,分析DevOps产品对看板的需求...阅读全文

技术圈 2019-10-16 17:59:37 CORNERSTONE

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

在任何一个项目开发或设计中,项目管理都会被认为是最重要的过程之一,因此,选择一款适宜的项目管理工具尤为重要。 而高效的、良好的项目管理必须具备「快速、强大」且包含以下功能: 1. 需求管理:项目的需求变更,跟踪,控制 2. 资源管理: 项目的可利用的资源(人力,物力,财力) 3. 计划管理: 包括成员管理和权限分配,日程排定,工作时间管理,里程碑设置 4. 进度管理: 日历,工作流,多视图报表等 5. 测试管理: 项目软件缺陷Bug状态跟踪 ...阅读全文

技术圈 2019-09-29 16:40:08 CORNERSTONE

为什么“@微信官方”会突然刷爆朋友圈?如何打造一场爆款活动?

为了庆祝咱们伟大祖国母亲七十岁生日,无论是网络上还是现实生活中都充满了过节的气氛! 这不,腾讯为了迎接这个神圣而又伟大的日子,特意推出了一项给头像加国旗的服务!相信这两天大家都被这一条朋友圈刷屏了...... “请给我一面国旗@微信官方” ![image.pngimage.png](https://img-blog.csdnimg.cn/20190925171109145.png?x-oss-process=image/watermark,type_ZmFuZ3...阅读全文

技术圈 2019-09-26 16:44:17 CORNERSTONE

(核心机密)如何成为一名优秀的项目经理

你是否,经常遇到 需求不明确, 质量不符迟迟无法验收, 团队成员相互推诿责任, 关键节点风险预防做不好, 领导无力, 计划不当, 缺乏沟通, 无法管理百万级、千万级项目, 技术人员被迫担任项目经理 怎么办? [CORNERSTONE](https://www.cornerstone365.cn/)来帮助你 ![image.png](https://img-blog.csdnimg.cn/201909231825477...阅读全文

技术圈 2019-09-24 15:52:21 CORNERSTONE

说好了不哭 | 周杰伦是最懂青春的人,CORNERSTONE只想成为最懂你的人

80、90后的青春,一半是周杰伦,一半是五月天。这两天朋友圈最火的莫过于周杰伦的新歌《说好不哭》,方文山作词,周杰伦作曲,歌曲中还有周董、阿信的倾情合唱,依旧是熟悉的节奏和小清新的风格,中年人的青春记忆,又回来了! ![在这里插入图片描述](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9wbS5pdGl0LmlvL3AvZmlsZS9nZXRfZmlsZS80NzU1MDkxNTNhYzg0ZGY1OTg0YzZhZTAxMjViZGE5ZS5w...阅读全文

技术圈 2019-09-20 16:51:10 CORNERSTONE

Go语言黑魔法

今天我要教大家一些无用技能,也可以叫它奇技淫巧或者黑魔法。用得好可以提升性能,用得不好就会招来恶魔,嘿嘿。黑魔法导论为了让大家在学习了基础黑魔法之后能有所悟,在必要的时候能创造出本文传授之外的属于自己的魔法,这里需要先给大家打好基础。学习Go语言黑魔法之前,需要先看清Go世界的本质,你才能获得像Neo一样的能力。在Go语言中,Slice本质是什么呢?是一个reflect.SliceHeader结构体和这个结构体中Data字段所指向的内存。String本质是什么呢?是一个reflect.Strin...阅读全文

知乎 2016-06-16 00:00 知乎

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

由[CORNERSTONE](https://www.cornerstone365.cn/)主办的“深圳敏捷狂欢大会”圆满落幕。此次活动集齐了敏捷领域的大咖与近百位敏捷研发爱好者到场,会上大家通过提问互动与敏捷大咖产生了精彩的思想碰撞,大家就敏捷开发如何落地及技术人员如何转型晋升这两个话题做了深度探讨. 以下为敏捷专家薛军和李林在敏捷狂欢大会上的演讲分享 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190912112612848.pn...阅读全文

技术圈 2019-09-12 18:44:14 CORNERSTONE

Golang源码探索(三) GC的实现原理 - q303248153

Golang从1.5开始引入了三色GC, 经过多次改进, 当前的1.9版本的GC停顿时间已经可以做到极短. 停顿时间的减少意味着"最大响应时间"的缩短, 这也让go更适合编写网络服务程序. 这篇文章将通过分析golang的源代码来讲解go中的三色GC的实现原理. 这个系列分析的golang源代码是Google官方的实现的1.9.2版本, 不适用于其他版本和gccgo等其他实现, 运行环境是Ubuntu 16.04 LTS 64bit. 首先会讲解基础概念, 然后讲解分配器, 再讲解收集器的实现....阅读全文

博客园 2017-11-22 17:04 博客园

图解Golang的内存分配

一般程序的内存分配在讲Golang的内存分配之前,让我们先来看看一般程序的内存分布情况: 以上是程序内存的逻辑分类情况。 我们再来看看一般程序的内存的真实(真实逻辑)图: Go的内存分配核心思想Go是内置运行时的编程语言(runtime),像这种内置运行时的编程语言通常会抛弃传统的内存分配方式,改为自己管理。这样可以完成类似预分配、内存池等操作,以避开系统调用带来的性能问题,防止每次分配内存都需要系统调用。 Go的内存分配的核心思想可以分为以下几点: 每次从操作系统申请一大块儿的内存,由Go来对...阅读全文

RyuGou的博客 2019-05-18 00:00 RyuGou的博客

MongoDB运行状态、性能监控,分析 泛城科技技术博客

这篇文章的目的是让你知道怎么了解你正在运行的Mongdb是否健康。 mongostat详解 mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。 它的输出有以下几列: inserts/s 每秒插入次数 query/s 每秒查询次数 update/s 每秒更新次数 delete/s 每秒删除次数 getmore/s ...阅读全文

泛城科技技术博客 2019-09-01 20:58 泛城科技技术博客

深入浅出 Go trace

本篇文章简要介绍了go语言执行跟踪程序(Trace),从功能和性能上阐述了它的优势。前言你有没有考虑过,你的goroutines是如何被go的runtime系统调度的?是否尝试理解过为什么在程序中增加了并发,但并没有给它带来更好的性能?go执行跟踪程序可以帮助回答这些疑问,还有其他和其有关性能的问题,例如延迟、竞争和较低的并行效率。该工具是Go 1.5版本加入的,通过度量go语言特定事件的运行时,例如:创建,启动和终止goroutines阻塞/非阻塞goroutines(syscalls, ch...阅读全文

IT程序猿 2018-07-04 20:47 IT程序猿

我是如何把大象装进冰箱里的……

前几天在知乎看到了这样一个问题:CORNERSTONE等项目管理工具体验如何? ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190829163320260.png) 本来利益相关太高不准备答,但是我发现题主问的是CORNERSTONE等项目管理工具体验如何,我个人理解,题主是想问:CORNERSTONE项目管理工具的使用体验如何——恐怕是题主对我们没有详细了解过。那么正好借此机会,可以向大家好好介绍一下CORNERSTONE项目管理工具! ...阅读全文

技术圈 2019-08-29 18:51:48 CORNERSTONE