查JVM參數就找JVMPocket(JVM口袋)小程序
概述
前段時間,微信小程序突然火了,某天公眾號突然收到個消息,說可以綁定微信小程序了,還可以面向個人,對新鮮玩意我向來比較有興趣,很想嘗鮮一下,于是想我可以搗鼓個怎樣的小程序來玩玩呢?
正巧有人發了封郵件給我詢問GC相關的問題,我告訴他一個JVM參數就能解決掉了,再想想這塊確實困擾過大部分有調優經歷的JAVA程序猿們,那就做一個JVM參數相關的小程序吧!
我正式做Java差不多7年了,對Java有著比較深的情結,之前一直停留在上層做中間件,后面因工作需要又轉做JVM,這些年查了不少問題,積累了不少經驗,對Java的了解程度也越來越深,一開始碰到GC的問題,也是各種查資料,查代碼,找參數,慢慢地只要一看到現象就會有相關的參數浮現出來,所以做這個應該還是可以造福大家的。
既然定下來要做這個,那產品主要做什么,解決哪些痛點呢,試想我們平時針對JVM參數都有些什么疑惑?
- 哎呀,這個JVM參數是什么意思?
- 怎么一升級JDK版本這個參數的默認值就變了?
- 怎么來使用這個參數?
- 這個參數使用的時候要注意些什么?
聊聊JVMPoeckt(JVM口袋)
這個產品,不,其實應該說是個小工具,我希望它能解決上面的這些問題,更希望大家看到或者想到JVM參數就能想到JVMPocket(JVM口袋或許好記些,不過口袋得換成英文),顧名思義就是口袋里的JVM,大家隨時隨地都能掏出手機解決某些JVM相關的問題,當然現在能解決的問題還很有限。
主要提供的能力包括如下幾點:
- 查詢參數的具體含義
- 查詢每個參數在不同平臺不同版本上的默認值
- 查詢參數怎么使用的
- 給予這個參數一定的建議
可點擊上面小程序進入體驗。
下面是我在這個小程序上的一些思考。
V0.1
我最初的設計思路是兩個菜單:
- 手動輸入參數或者參數列表
- 拍照圖像識別參數
不過從實際體驗來看,手動輸入實在太麻煩,畢竟在手機上操作不是很順嘛(我對參數相對熟點,所以能很快輸入,所以一開始這個問題沒看太重),拍照識別那個雖然很符合手機端體驗,但是我短時間無法做得很好,還得找個時間弄弄。
于是我花了一個周末的時間完成了第一個版本,發布上去了,在我的微信公眾號菜單里加了一項菜單。
V0.2
雖然發出去了,但是沒有通知大家有這么個東西,所以大部分時間還是我自己在玩,當然每天還是有點人來玩的,用著用著我發現了一些問題:
雖然大小寫可以不敏感,但是每次都要參數輸全,還是比較蛋疼的。
很多用戶根本不知道要輸入什么,所以只能亂輸,比如123,abc啥的。
于是新的版本想解決掉這些問題。
用戶可以輸入參數名稱的部分內容,后端自動做匹配,找出匹配度最高的那個參數。
用戶可以默認不輸入內容,當輸入為空直接點擊查詢的時候,默認提供幾個參數的輸出結果。
這個版本上去之后,自己用得都爽多了,總算可以讓不知道參數是什么的人能看到個大概效果了。
V0.3
后面有不少人反饋,其實大家都不知道有哪些參數,雖然隨便輸入個參數能看到某個匹配的參數的結果,但是這個并不一定是他們想查詢的參數,圖像識別功能還未提供,所以還是先提供一個參數列表的頁面,參數根據首字母排序,可以通過首字母定位到具體的首字母是它的參數列表,然后選中某個參數列出某個參數的結果。
這個上去之后大家至少不需要自己輸入參數了,而且能找到自己想找但是一直模凌兩可的參數了。
后續
目前還只發布了3個版本,后續有時間我還會做更多的優化,包括用戶體驗的,包括產品完善的,比如參數建議里提供更多的經驗等。
另外大家覺得還有個更大的問題就是我不知道我要用什么參數來解決我現在碰到的問題,我想說這個真的需要積累,說實話我很多參數也沒用過,憑我在阿里解決這么多年的問題經驗來看,其實常見的那些個參數摸透了也就差不多了,所以后續可能還會專門提取出這些常用的參數出來給大家強調學習。
希望聽到大家使用后的反饋來不斷完整這個小程序。
如何找到JVMPocket
目前產品就這個效果,歡迎大家試玩,希望大家想到JVM參數就想到JVMPocket,可以通過如下途徑找到這個小程序。
- 在微信上直接搜索『JVMPocket』
- 關注我公眾號的用戶通過我的公眾號里的菜單『JVM口袋』進入,也可以通過
- 未關注我的用戶,當然可以先關注,如果實在不想,可以搜索我的微信公眾號『你假笨』,在關注頁面里會有個『相關小程序』,點擊直接進入,不過您要是覺得『JVMPocket』好記,還是直接搜更方便
寫在最后
多的也不多說啦,還是那句話,希望大家想到JVM參數就想到JVMPocket,有JVM的疑難問題先是否發過類似的文章。
對了,看到上上篇文章訪問量挺高假笨說-又抓了一個導致頻繁GC的鬼--數組動態擴容,但是其中有些內容不夠嚴謹,在上篇文章假笨說-關于數組動態擴容導致頻繁GC的問題,我還有話說里做了補充說明,對之前那篇文章有過印象的建議看下這篇文章,其中提到了一個CMS的JVM參數,大家可以結合這個小程序了解下,哈哈!
【本文是51CTO專欄作者李嘉鵬的原創文章,轉載請通過微信公眾號(你假笨,id:lovestblog)聯系作者本人獲取授權】