虽然我是在jdk10环境下, 但是大体上和jdk8是差不多的. 总共有这么多

本来想着一口气把所有命令都边学边总结一下的, 结果发现....有些还真的不是很常用....或者说我这个水平还接触不到那么多. 于是我就把我能使用到的几个常用的总结一下了. 当做是笔记了.
jshell
jshell启动

jshell退出

jshell使用
就想python一样, 可以每一行代码都返回一个交互结果. 编写短小的程序来运行的时候, 就不用新建项目, 然后新建一个类了...可以直接上核心代码了.



还以为我从此以后不再需要计算器了
java的jshell计算大数的时候如下:(果然不出所料...失望..)

怎么解决呢? 肯定是因为默认数字都是Integer型. 只好手动调用BigInteger了.

jcmd
jcmd -h 输出jcmd的帮助信息.

jcmd -l 打印出所有jvm进程信息.

红色圈出来的数字是pid, 也就是进程id
jcmd <pid> PerfCounter.print 性能统计信息


jcmd <pid> help 列出可执行的进程操作


jcmd <pid> VM.version 看JVM版本信息
从上面一小节的截图中咱们挑一个执行一下. 比如 倒数第二行的VM.version

这样就利用了VM.version操作打印出了JDK虚拟机的版本.
jcmd <pid> GC.class_histogram 查看系统中类统计信息
(和这个命令是一个效果 jmap -histo <pid> )

jcmd <pid> VM.uptime 查看 JVM 的启动时长

jcmd <pid> Thread.print 查看线程堆栈信息
(等同于这个命令: jstack <pid> )

jcmd <pid> GC.run 对JVM执行System.gc()

jcmd <pid> VM.system_properties 查看JVM的系统配置信息

jcmd <pid> VM.flags 查看JVM的启动参数

jhsdb命令
这个命令是jdk9之后才开始有的
jhsdb hsdb
