查JVM参数就找JVMPocket(JVM口袋)小程序

开发 开发工具
我正式做Java差不多7年了,对Java有着比较深的情结,之前一直停留在上层做中间件,后面因工作需要又转做JVM,这些年查了不少问题,积累了不少经验,对Java的了解程度也越来越深,一开始碰到GC的问题,也是各种查资料,查代码,找参数,慢慢地只要一看到现象就会有相关的参数浮现出来,所以做这个应该还是可以造福大家的。

[[190651]]

概述

前段时间,微信小程序突然火了,某天公众号突然收到个消息,说可以绑定微信小程序了,还可以面向个人,对新鲜玩意我向来比较有兴趣,很想尝鲜一下,于是想我可以捣鼓个怎样的小程序来玩玩呢?

正巧有人发了封邮件给我询问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)联系作者本人获取授权】

戳这里,看该作者更多好文

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2012-01-11 11:28:00

JavaJVM

2010-09-25 13:31:00

TomcatJVM

2018-11-01 10:34:37

JVM内存配置

2020-09-24 10:18:29

JVM参数类型

2010-09-25 13:13:17

tomcatJVM

2010-09-27 14:09:49

NetbeansJVM参数

2010-09-26 11:00:48

JVM参数配置

2010-03-04 10:56:52

JVM参数

2010-09-26 09:54:43

JVM参数设置

2010-09-25 13:05:07

JVM参数

2010-09-26 16:24:23

设置JVM参数

2023-11-10 11:23:20

JVM内存

2010-09-17 15:57:23

TomcatJVM

2010-09-26 16:31:07

JVM参数配置

2012-01-11 13:04:40

JavaJVM

2010-09-27 09:53:45

TomcatJVM

2009-07-09 14:26:27

JVM参数

2010-09-27 08:38:49

JVM堆JVM栈

2010-09-26 09:31:27

JVM启动参数

2019-12-04 09:47:55

TomcatJVM性能
点赞
收藏

51CTO技术栈公众号