你假笨会基

你假笨,阿里花名寒泉子,基友们叫他笨神。

20日,笨神从杭州到北京

21日,笨神早上晒了一张凌晨近3点入睡的图片,当然今天还有两场会(全球开发者大会、北京会基),名人就像打了鸡血一样。


QCON 现场

下午三点会基

感谢宜信的兄弟提供的场地,大概30多人冒雨前来,真爱啊,都是各互联网公司的精英,但是好像没有bat的,可能是bat的jvm更多都趋于定制。更多的是tmd和其他互联网公司的一线员工在交流。我想大多数来的目的一是请教问题,二是请教学习思路的,三是来听故事的。


图片发自简书App

成神之路

差不多3点笨神到场

故事开始,2010年毕业,走出校园的时候简历就比较厚了,当时拿到了迅雷、阿里的offer,后来去了阿里。阿里其中一面是鲁肃(后来蚂蚁金服CTO),当时他并没有多少java基础和相关工作经验,但是鲁肃就是看中了这个小伙子聊技术时候的那种放光的眼神,到支付宝后进的基础架构组,做sofa(目前正在做开源)。笨神面试别人很重要的一点也并不是用他的知识来面,而是看面试者简历上掌握的知识点来面试。

2014年底,进入阿里JVM团队从事JVM及性能分析产品研发。后来自己编译openjdk、在上面dubug 越来越有感觉,渐渐从帮助支付宝的同事解决问题扩展到为整个阿里的同学服务,走的时候ATA(阿里技术社区)的关注人数应该算当时最高的作者吧。笨神通常第一天发帖,第二天就会被推上上ATA头条。当然笨神是下过苦功夫的,通常凌晨回家,自己一个人dubug代码。

提问、交流、学习


图片发自简书App


故事讲完,开始大家提问交流,我只记录了一些,以下是一些随笔:

有出书计划吗,市面上很多书都偏理论,偏实战的比较少?

笨神说,有出版社一直在跟进他,有出书的想法,但是目前刚刚出来创业暂时时间不允许,所以出书的事搁置了。

如何学习JVM相关知识?

jvm修炼之路,c/c++是基础,openjdk编译后debug jvm是历练,业务场景是环境,ide可用eclipse c++。

关于内存分析,eclipse的MAT有没有使用上的心得可以分享?

阿里不用mat,大dump文件有自己的研发的profiler。所以像hbase在它厂遇到的内存太大分析不了的问题,在ali是不存在的。

为什么要定制jvm有什么好处?

在阿里基本都是使用阿里JVM团队定制的JVM,针对一些特殊场景比较有功效,比如针对hbase做的一些GC算法的改进,直接把某些对象放到老年代,从而优化ygc的时间,还有很多其他的特性。

有没有什么比较好的书推荐

笨神表示自己都是看openjdk源码,不太看书,如果看原理方面的可以看看《揭秘Java虚拟机》

另外,额外记了些随笔:

使用gdb,线程栈调优啦。

像jinfo、jstack等工具会生产环境要慎用,这些工具会导致JVM出现STW,因为执行的时候需要所有线程挂起进入safepoint,有时候这些程序会有bug,直接导致java程序后续不能正常执行。

像模块化开发,模块与模块之间最大的性能损耗都是在网络这块,所以后来想把模块化的东西都放到一个虚拟机中,从而屏蔽网络损耗问题。eclipse出的osgi的框架equinox,有时间可以玩玩。


自立门户

笨马网络(PerfMa)是后来从阿里出来,成立的一家的公司,关于商业模式,笨神到是认为,自己的产品趋向于走saas路线,可以帮助到中国千千万万的企业完成自动jvm性能调优的工作。目前针对内存,CPU,GC等都有相关的分析产品。

最后,祝xxfox大火!

推荐阅读更多精彩内容