云计算中的资源调度

云厂商将机房中服务器的计算能力进行整合,如 CPU、内存等,并把这些硬件统一抽象为资源,然后按需卖给用户,这就是云计算理念,怎么把这些资源有效的管理和调度起来,最大化资源利用率,关系着云厂商的成本和营收,也是各厂商实现差异化的一个重要切入点。本文讲讲云计算中的资源调度,或者称为 scheduler。

阅读全文

使用 PXE 从网络安装操作系统

平时我们拿到一台新电脑后,第一件事就是安装操作系统,安装系统常规方式是用光盘或 U 盘,需要提前在 BIOS 里设置引导顺序,让 CDROM 或 U 盘为第一引导项,重启后就可以走安装系统流程了,安装过程中还需要手动设置一些选项,如设置时区,硬盘分区等。等安装完后,再设置 BIOS 从硬盘启动,系统就算安装好了。这是家庭或电脑店里的常规方式。试想下,企业采购一批服务器,100 台甚至上千台,如果仍然采用这种方式,那运维得累死。这时,我们可以采用 PXE 方式,从网络给服务器安装系统。

阅读全文

什么是 I/O 多路复用

在高并发环境下,web 服务器需要处理成千上万的客户端连接,如何最大限度发挥单台机器的性能,使之在处理大量连接时仍保持较低的负载,这是个很重要的课题。本文介绍下解决此类问题的一种很经典的方式:I/O 多路复用。

阅读全文

Java 中 Future 和异步任务

Java 中的多线程技术一直是个热门话题,而线程池、异步任务是多线程编程中绕不开的一个技术要点,本文介绍下 java 中的 Future 相关使用方法以及任务执行框架 ExecutorService。

阅读全文

git pull 和 git rebase

git 是团队开发中常用的代码版本管理工具,我们经常会遇到这样一个场景:在 feature 分支上开发完一个新功能后,通常会做这样的操作:git pull,然后git push。但也有人喜欢在git pull后面再上--rebase参数,即git pull --rebase,这是什么意思呢?

阅读全文

Docker 和 KVM 虚拟机

近几年,随着微服务概念和容器化思想的风(chao)靡(zuo),Docker 技术成了各大厂和各种吹牛大会上的香饽饽,一提到 Docker,就是各种优势,大有在云计算领域一统江湖的趋势。但是 Docker 真的是万精油吗?本文简单介绍下 Docker 的一些底层技术,以及和传统虚拟机的一些差异。

阅读全文

Java 中常用的监控和故障处理命令行工具

我们常常需要获取 Java 程序运行过程中的一些执行情况,如执行路径,GC 情况,堆栈信息等。JDK 给我们提供了一些简单但却很有用的命令行工具,本文介绍下这些工具的使用和参数说明,用于备忘。

阅读全文

Java 中的同步方法

说到 java 中的同步,必然少不了耳熟能详的synchronizedReentrantLock,以及可能用过但不怎么常见的Atomicvolatile,本篇即简单介绍下他们的区别和使用场景。

阅读全文

Java 中集合和泛型最佳实践

最近看 Java,读到一篇比较好的英文文章,特翻译了下记录下来。原文链接在这里

集合类和泛型是 Java 中比较常用的技术,也是面试时经常问到的点。本篇文章向大家分享的,是一个资深 Java 开发者多年的实战经验。通过本篇文章,你会了解怎么高效而优雅的使用集合、泛型,而不是仅仅停留在 “just work”。

阅读全文

我的这 10 年

这篇文字在草稿箱里已经存了几个月了,趁着周末加班改完bug,还是做个了结吧。

现在是2018年6月,新闻前两天还一直在报道今年高考的消息,今年全国高考人970万。回想起我参加高考,已经过去整整10年了,现在看到视频里那些进入考场的莘莘学子,感慨万分。看了下历年的高考人数变化,没想到,我高考的那两年,居然是高考人数的最高峰。像是过关游戏中,小手一抖,选择了 hard 模式。高考的人数变化,也一定程度上,反应了我们国家人口的变化。越来越多的人相信,在未来半个世纪,中国劳动力人口在呈逐年下降趋势。目前,国家全面开放二胎政策,鼓励多生。想想当年父母生我弟时,由于“计划生育”,大队的干部如强盗样,把我家唯一的家电收音机给抱走了。这才多少年?!而现在抚养孩子的压力,反而大多数家庭都打消了二胎的想法,不可谓不讽刺。

阅读全文