http://www.iteye.com/topic/1148175
VJTools,是主力於Java的唯品會,關於Java的一些小家底,有《唯品會Java開發手冊》,核心基礎類庫 ,問題排查小工具,三塊。各位看官看着是好的,煩請撥冗“Star” :
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購物卡的獎勵 !!!