Netty高性能编程备忘录(下)

前文再续,书接上一回。想不到这次这么快就写了下集,把坑填了。 [...] (阅读全文……)
Posted in 工作 | Tagged , | 2 Comments

Netty高性能编程备忘录(上)

网上赞扬Netty高性能的文章不要太多,但如何利用Netty写出高性能网络应用的文章却甚少,此文权当抛砖引玉。
另外,不来唯品会的基础架构部的话,我可能永远不会这么关注性能,本文其他同事亦有贡献,简历请砸 calvin.xiao@vipshop.com [...] (阅读全文……)
Posted in 技术 | Tagged , | 4 Comments

从dstat理解Linux性能监控体系

聪明的同学在性能测试时,一边盯着监控一边自己在想:

“如果有200毫秒的CPU瞬时高峰,会被抓住么?”
“我再加上这个监控项,或者我让采样间隔再密一点,会影响性能么”

dstat用地球人都看得懂的python来写,而且只有寥寥数行,很适合从它入手,了解所有top, vmstat,pidstat们的工作原理,回答上面的问题。
[...] (阅读全文……)
Posted in 技术 | Tagged | 4 Comments

谈谈服务化体系中的异步(上)

一个懂Akka、RxJava,看得懂《七周七并发》的人,和普通程序员完全是两个世界的人。
那作为一个羞涩的普通程序员,怎么在自己的服务化体系里,满足自己的异步化需求呢 ? [...] (阅读全文……)
Posted in 技术 | Tagged | 18 Comments

另一份Java应用调优指南之-工具篇

Java应用的调优,再不写都要忘光了,先对付着写完。免费的JMC真的好用,大家越早用上越好。 [...] (阅读全文……)
Posted in 技术 | Tagged | 6 Comments

我的Java后端书架 (2016年暮春3.0版)

书架主要针对Java后端开发。
3.0版把一些后来买的、看的书添补进来,又或删掉或降级一些后来没有再翻开过的书。

[...] (阅读全文……)
Posted in 技术 | 21 Comments

另一份Java应用调优指南之-前菜

每一次成功的调优,都会诞生又一份的调优指南。

一些必须写在前面的军规,虽然与Java应用的调优没直接关联,但是测试同学经常不留神的地方,导致应用的优化变成一场测试环境调优的闹剧。 [...] (阅读全文……)
Posted in 工作, 技术 | Tagged | 11 Comments

StringBuilder在高性能场景下的正确用法

关于StringBuilder,一般同学只简单记住了,字符串拼接要用StringBuilder,不要用+,也不要用StringBuffer,然后性能就是最好的了,真的吗吗吗?

还有些同学,还听过三句似是而非的经验:

1. Java编译优化后+和StringBuilder的效果一样;

2. StringBuilder不是线程安全的,为了“安全”起见最好还是用StringBuffer;

3. 永远不要自己拼接日志信息的字符串,交给slf4j来。

[...] (阅读全文……)
Posted in 技术 | Tagged | 17 Comments

Java ThreadPool的正确打开方式

线程池应对于突然增大、来不及处理的请求,无非两种应对方式:
  1. 将未完成的请求放在队列里等待
  2. 临时增加处理线程,等高峰回落后再结束临时线程
JDK的Executors.newFixedPool() 和newCachedPool(),分别使用了这两种方式。 不过,这俩函数在方便之余,也屏蔽了ThreadPool原本多样的配置,对一些不求甚解的码农来说,就错过了一些更适合自己项目的选择。 [...] (阅读全文……)
Posted in 技术 | Tagged | 16 Comments

AWK处理日志入门

这两天自己挽起袖子处理日志,终于把AWK给入门了。其实AWK的基本使用,学起来也就半天的时间,之前总是靠同事代劳,惰性呀。

此文仅为菜鸟入门,运维们请勿围观。 [...] (阅读全文……)
Posted in 技术 | 2 Comments