http://www.iteye.com/topic/1148175

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,一些大厂的基础库如Facebook和Twitter。

3. 工具集-VJMap

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

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

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

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

4. 工具集-VJTop

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

另一用途,是监控系统发现指标超阈值时,钩子脚本调VJTop纪录事发地状况。

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

最后的话

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

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

转载于:https://www.cnblogs.com/davidwang456/articles/9166576.html

唯品会Java核心项目VJTools开源了相关推荐

  1. java ssm 项目_ssm开源java博客项目,基于maven搭建

    项目描述 1,包含登录注册,用户密码,加密 2,博客图片采用网络地址存储, 运行环境 jdk7+tomcat7+mysql5.6+IntelliJ IDEA+maven 项目技术(必填) spring ...

  2. Java Web学习总结(28)——Java Web项目MVC开源框架SSH和SSM比较

    SSH和SSM定义 SSH 通常指的是 Struts2 做控制器(controller),spring 管理各层的组件,hibernate 负责持久化层. SSM 则指的是 SpringMVC 做控制 ...

  3. 分享6个国内优秀Java后台管理框架的开源项目

    分享6个国内优秀Java后台管理框架的开源项目,建议收藏! Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数 ...

  4. Java核心常用API +JSD2103_SE 项目 + WebServer项目

    WebServer项目 JSD2103_SE 项目 安装Git Git的使用 JSD2103_SE 项目的创建 API目录: 一.文档注释 二.String类 三.Object类 四.Integer ...

  5. java web 爬虫_Java开源Web爬虫项目

    原标题:Java开源Web爬虫项目 百度百科解释 网络爬虫:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚 ...

  6. 架构师花费近一年时间整理出来的Java核心知识,直击优秀开源框架灵魂

    前言 前段时间从蚂蚁金服二面回来,有些许面试新的给大家分享. 毕业至今两年一直在A金融公司做Java开发,在一个公司时间长了我也想换个环境,于是在网上投了简历,选择公司我的目标很明确还是金融领域,最好 ...

  7. Java web 2022跟学尚硅谷书城项目完整开源分享

    Java web 2022跟学尚硅谷书城项目完整开源分享 项目介绍 项目类图 sql建表和添加数据 界面展示 用户登录界面 用户注册界面 首页 添加购物车 我的购物车 我的订单 功能说明 项目介绍 跟 ...

  8. 【源码+教程】Java学生成绩在线管理项目_Java实战项目_Java开源项目_Java毕设项目_Java毕业设计_计算机毕业设计_Java项目开发

    今天为大家带来的是Java实战项目--学生成绩在线管理,可以用来做毕业设计喔~源码和教程就在下方.请大家查收~[源码+教程]Java学生成绩在线管理项目_Java实战项目_Java开源项目_Java毕 ...

  9. 阿里 P9 开源分享内部 Java 核心开发手册(2022 版)覆盖 P5 到 P8

    这个世界唯一不变的就是变化, IT 圈子不外如是.计算机领域一直在改变,从基础框架到计算设备,还有几乎每天都涌现出的新技术.因此,作为一名程序开发人员,我们要通过不断的学习来提高自己的技能. 所以持续 ...

最新文章

  1. 小腿训练三部曲之(三)
  2. 一个通用纯C队列的实现
  3. 技术人必看:15张图对比高效与瞎忙的区别!
  4. 单主机Docker容器VLAN划分
  5. 知识蒸馏在广告系统中的应用(一)
  6. 电脑投屏软件哪个好_无线投屏器和软件投屏的区别是什么,哪个更好用?
  7. 也谈压缩感知(compressive sensing)
  8. 多个值合并成一个字段oracle排序,Oracle之多行记录变一行记录,行变列,并排序(wmsys.wm_concat)...
  9. 稀土储量由80%变成了35%?这是何等的。。。
  10. 卸载HP LaserJet 激光打印机的驱动程序--Win7环境
  11. 【数据结构排序算法(五)】二路归并排序
  12. 机器学习 周志华 课后习题 7.3
  13. Android解决“此用户无法使用开发者选项“异常
  14. 浅谈物联网的关键技术和难点
  15. 二阶Volterra矩阵生成 matlab
  16. 【机器学习】深度学习框架是什么?有哪些?如何选择?
  17. ES2016/ES2017/ES2018/ES2019 新语法
  18. 我们年轻时,为什么要辛苦赚钱,这是我听过的最好回答!
  19. yum错误:Cannot retrieve repository metadata (repomd.xml) for repository解决方法
  20. 计算机组装与拆解中容易混淆的知识点,教资干货 | 教资笔试中易混淆的知识点整合...

热门文章

  1. html页面多个按钮点击事件监听事件,HTML Button.onclick 事件汇总
  2. linux内核md5,浅谈MD5及简单使用
  3. LINUX检测服务并自动运行,一种Linux下的开机自动检测硬件信息的方法与流程
  4. 关系到了冰点_疫情下半场,如何修复跌至冰点的亲子关系,让自己和家人活出幸福感?...
  5. 孔板流量计计算公式_带你全面了解各种流量计
  6. HTML五子棋游戏代码介绍,五子棋html游戏代码与算法介绍
  7. linux 启动两个摄像头,Linux:(多摄像头)如何运行指定的摄像头
  8. 有没有插件_这 10 款插件让你的 GitHub 更好用、更有趣
  9. python写自动答题脚本_问卷星的自动答题脚本
  10. 数组中两个字符串的最小距离