唯品会Java核心项目VJTools开源了

VJTools,是主力于Java的唯品会,关于Java的一些小家底:《唯品会Java开发手册》,核心基础类库 ,问题排查小工具。各位看官看着是好的,烦请“Star” :

https://github.com/vipshop/vjtools

1.《唯品会Java开发手册》

阿里巴巴Java开发手册》
,是首个对外公布的企业级Java开发手册, 意义重大。

我们结合唯品会的内部经验,参考《Clean Code》、《Effective Java》等重磅资料,增补了一些条目,同时删减了一些相对不那么通用的规则,让规范更精炼易记。

比如:《注释规约》中“所有的类都必须添加创建者和创建日期”,我们觉得在人才流动的今天,修改者纪录交给GIT更好。

在不断的改写中,规范变得更暗,更亮,更薄,更厚,更浑浊,更清澈,更混合,更纯粹…感谢阿里授权我们的任性修改。

2. 核心类库VJKit

综合众多开源类库的精华而成, 让开发人员避免底层代码的重复开发,默认就拥有最佳实践,尤其在性能的方面。

针对“文本,数字,日期,文件,集合,并发,反射”这些开发人员的日常,VJKit做了两件事情:

一是对Guava与Common Lang中最常用API的提炼归类,避免了大家直面茫茫多的API。

二是对各门各派的精华的借鉴移植,比如一些大项目的附送基础库如Netty,ElasticSearch,一些专业的基础库如Jodd,一些大厂的基础库如FacebookTwitter

3. 工具集-VJMap

分代版的jmap(新生代,存活区,老生代),是排查内存缓慢泄露,老生代增长过快原因的利器。

jmap -histo PID 打印的是整个Heap的对象统计信息,而为了定位上面的问题,我们需要专门查看OldGen对象,和Survivor区老龄剩男的工具。

致敬R大,思路来源于 TBJMap
,翻新后支持JDK8,支持Survivor区老龄对象过滤,以及大天秤对输出结果不要看歪脖子的执着。

此处有一实战: 【唯实践】JVM老生代增长过快问题排查
,最后定位是Jedis的锅。

4. 工具集-VJTop

若你习惯以Top观察 “OS指标及繁忙的进程”,也推荐以VJTop观看 “JVM指标及CPU最繁忙,占用内存最多的线程”。

在 jvmtop
之上二次开发,又结合 SJK
的思路,从/proc , PerfData,JMX等处,以更高的性能,获取更多的信息。

最后的话

SpringSide之后好久没开源新项目,希望大家继续支持,不需要打赏,Github点星是最好的支持。

VJTools官方微信讨论群,请搜索微信号viptech128(唯技术),添加好友后加入。

对于优秀的建议和Pull Request代码提交,唯品会将不吝发挥电商本色,给予vip.com购物卡的奖励 !!!

原文 

http://calvin1978.blogcn.com/articles/vjtools123.html

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 唯品会Java核心项目VJTools开源了

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址